使用物件導向思想進行開發有以下優點:1、易維護
採用物件導向思想設計的結構,可讀性高,由於繼承的存在,即使改變需求,那麼維護也只是在區域性模組,所以維護起來是非常方便和較低成本的。
2、質量高
在設計時,可重用現有的,在以前的專案的領域中已被測試過的類使系統滿足業務需求並具有較高的質量。
3、效率高
在軟體開發時,根據設計的需要對現實世界的事物進行抽象,產生類。使用這樣的方法解決問題,接近於日常生活和自然的思考方式,勢必提高軟體開發的效率和質量。
4、易擴充套件
由於繼承、封裝、多型的特性,自然設計出高內聚、低耦合的系統結構,使得系統更靈活、更容易擴充套件,而且成本較低。
物件導向設計的原則
srp 單一職責原則
就乙個類而言,應該僅有乙個引起它變化的原因。
ocp 開放————封閉原則
軟體實體(類、模組、函式等)應該是可以開展的,但是不可修改。
lsp liskov 替換原則
子型別必須能夠替換掉它們的父型別。
dip 依賴倒置原則
抽象不應該依賴於細節。細節應該依賴於抽象。
isp 介面隔離原則
不應該強迫客戶依賴於它們不用的方法。介面屬於客戶,不屬於它所在的類層次結構。
rep 重用發布等價原則
重用的粒度就是發布的粒度
ccp 共同封閉原則
包中的所有類對於同一類性質的變化應該是共同封閉的。乙個變化若對乙個包產生影響,則將對該包中的所有類產生影響,而對於其他的包不造成任何影響。
crp 共同重用原則
乙個包中的所有類應該是共同重用的。如果重用了包中的乙個類,那麼就要重用包中的所有類。
adp 無環依賴原則
在包的依賴關係圖中不允許存在環。
sdp 穩定依賴原則
朝著穩定的方向進行依賴
sap 穩定抽象原則
包的抽象程度應該和其穩定程度一致。
介面的最主要的作用是達到統一訪問,就是在建立物件的時候用介面建立,【介面名】 【物件名】=new 【實現介面的類】,這樣你像用哪個類的物件就可以new哪個物件了,不需要改原來的**,就和你的usb介面一樣,插什麼讀什麼,就是這個原理。就像你問的,都有個method1的方法,如果我用介面,我上面就可以one.method1();是吧?那樣我new a();就是用a的方法,new b()就是用b的方法這樣不方便嗎?
這個就叫統一訪問,因為你實現這個介面的類的方法名相同,但是實現內容不同
我用介面來定義物件不就可以做到統一訪問了嗎?介面主要針對多個類實現它來說的,要是只有乙個類當然可以不用介面了.你這樣想,我做乙個usb介面,有個read()抽象方法,然後***類實現,u盤類實現,行動硬碟類實現,這樣我用的時候用usb a=new 【類名】;這樣a.read();要是我類名裡寫u盤,就讀u盤,寫***就讀***,而這個名字可以從屬性檔案裡讀,你寫哪個就用哪個了,呵呵。
Java物件導向 多型的好處
例如一段 class computer class pc extends computer class nb extends computer class test 此時就會有小夥伴有疑問,對於上面的程式,我這樣寫不也挺好嗎 pc pc new pc nb nb new nb pc.turnon n...
java 中物件導向
通過關鍵字class 類名 來定義類,類名首字母一般大寫 修飾符 資料型別 屬性名 一般修飾符有public private protected一般為private私有的通過get,set方法來訪問 修飾符 返回值 方法名 方法一般為定義為publice 構造方法 用於類的初始化引數,建立物件的時候...
Java中的物件導向
一 物件導向的概述 思想的特徵 1.更符合我們生活中的行為思想習慣。2.將我們從執行者變成了指揮者,指揮物件做事情。3.簡單性體現在 讓我們把事情從複雜性 簡單化。物件導向的三大特徵 封裝 繼承 多型二 區域性變數和成員變數的區別 1.在類中位置不同。成員變數 類中,方法外。區域性變數 方法宣告上,...