1. 程式人生 > >Java第三課之面向物件的特性——自學筆記

Java第三課之面向物件的特性——自學筆記

面向物件的特性

Java作為一門面向物件的語言,有幾大特性

  1. 抽象
  2. 封裝
  3. 繼承
  4. 多型

抽象

抽象就是忽略問題中與當前目標無關的方面,只關注與目標有關的那方面。抽象有過程抽象和資料抽象,過程抽象就是面向過程額的程式語言;資料抽象就是面向物件的程式語言。資料抽象是將系統中需要處理資料和這些資料上的操作結合在一起,抽象成不同的抽象資料型別,每個抽象資料既包括了,也包含了針對這些資料的操作,相對於過程抽象,資料抽象是更為合理的抽象方法。

封裝

封裝,也就是把他包裹到某種東西中去。這裡利用抽象資料型別將資料和基於資料的操作封裝在一起。使用者只能看到物件的封裝介面資訊,物件的內部細節對使用者是隱蔽的。 封裝的定義是:

  1. 清楚的邊界,所有物件的內部訊息被限定在這個邊界內。
  2. 介面,即物件向外界提供的方法,外界可以通過這些方法與物件互動。
  3. 受保護的內部程式實現,即軟體物件的實現細節,實現細節不能從類外訪問。

繼承

繼承是指新的類可以獲得已有類的屬性和行為,稱新類為子類,被繼承的類為父類。Java只支援單繼承。 在上一節寫類的時候已經寫過了,只要標準不一樣,類的分類也不一樣,如果類分的不夠具體,比如人和低等動物都是動物,那麼從動物這個類中,人和低等動物就可以從中繼承,擁有動物類的屬性和方法,當然不是所有的屬性和方法都是用於繼承他的類,所以繼承之後可以自己改變值。

多型

要實現多型,就要有繼承存在。多型是指一個程式中同名的不同方法共存的情況。主要通過子類對父類方法的重寫,覆蓋來實現。這樣一來,不同了類的物件可以響應同名的方法(訊息)來完成特定的功能,但其具體實現方法卻可以不同。