java基礎 - 物件導向三大特性

weixin_34019929發表於2017-08-10
2220902-4b43743731c1f4a5.png
物件導向三大特性.png

物件導向

1. 封裝

  • 定義
    隱藏物件的屬性和實現細節,僅對外公開介面,控制在程式中屬性的讀和修改的訪問級別。
  • 目的
    增強安全性和簡化程式設計,使用者不必瞭解具體的實現細節,而只是要通過外部介面,一特定的訪問許可權來使用類的成員。

2. 繼承

  • 定義
    物件之間是:is-a關係
    通過 extends 來標明關係
  • 目的
    實現程式碼的複用

繼承的優缺點
優點:

  • 1.程式碼重用,減少建立類的成本,每個子類都擁有父類的屬性和方法
  • 2.子類和父類基本相似,但又與父類有所區別
  • 3.程式碼可在子類中得以擴充套件

缺點:

  • 1.繼承是侵入性的,只要繼承就必須擁有父類的所有屬性和方法
  • 2.可能造成子類冗餘、降低靈活性,因為子類必須擁有父類的屬性和方法
    1. 增強了耦合性。 當父類的常量、 變數和方法被修改時, 需要考慮子類的修改, 而且在缺乏規範的環境下, 這種修改可能帶來非常糟糕的結果——大段的程式碼需要重構。

多型

  • 定義
    相同的事物,呼叫其相同的方法,引數也相同時,但表現的行為卻不同。
    繼承、重寫、向上轉型。
    父類引用指向子類物件

  • 目的
    程式的可擴充套件性及可維護性增強。

相關文章