面向對象三大特性 封裝: Encapsulation是指一種將抽象性函式介面的實現細節部份包裝、隱藏起來的方法。封裝可以被認為是一個保護屏障,防止該類的代碼和數據被外部類定義的代碼隨意訪問。要訪問該類的代碼和數據,必須通過嚴格的介面控制。封裝最主要的功能在於我們能修改自己的實現代碼,而不用修改那些調 ...
面向對象三大特性
封裝:
Encapsulation是指一種將抽象性函式介面的實現細節部份包裝、隱藏起來的方法。封裝可以被認為是一個保護屏障,防止該類的代碼和數據被外部類定義的代碼隨意訪問。要訪問該類的代碼和數據,必須通過嚴格的介面控制。封裝最主要的功能在於我們能修改自己的實現代碼,而不用修改那些調用我們代碼的程式片段。適當的封裝可以讓程式碼更容易理解與維護,也加強了程式碼的安全性。
繼承:
單從縱向看,子類通過繼承從父類得到部分功能,實現代碼和功能的復用;當多個子類繼承公共父類時,如需修改公共部分代碼,則只需改動父類代碼,提高了代碼的可維護性。
- 特性:
- 子類擁有父類非 private 的屬性、方法。
- 子類可以擁有自己的屬性和方法,即子類可以對父類進行擴展。
- 子類可以用自己的方式實現父類的方法。
- Java 的繼承是單繼承,但是可以多重繼承,單繼承就是一個子類只能繼承一個父類,多重繼承就是,例如 A 類繼承 B 類,B 類繼承 C 類,所以按照關係就是 C 類是 B 類的父類,B 類是 A 類的父類,這是 Java 繼承區別於 C++ 繼承的一個特性。
- 提高了類之間的耦合性(繼承的缺點,耦合度高就會造成代碼之間的聯繫越緊密,代碼獨立性越差)
- 優點:
- 良好的封裝能夠減少耦合。
- 類內部的結構可以自由修改。
- 可以對成員變數進行更精確的控制。
隱藏信息,實現細節。
多態:
多態是指對於客戶端而言的同一個行為,具有多個不同表現形式或形態的能力。在編程中多態就是同一個介面,由於使用了不同的實例而執行出不同操作和結果。
- 前提:
- 繼承
- 重寫
- 父類引用指向子類對象
- 優點:
- 消除類型之間的耦合關係
- 可替換性
- 可擴充性
- 介面性
- 靈活性
- 簡化性