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