1. 程式人生 > >Java 面向物件特徵

Java 面向物件特徵

java面向物件的三大特徵是什麼?

   那就是封裝、繼承、多型。

但說到面向物件,還有一個很主要的特徵就是抽象。

  1. 封裝    

每一個類中都會有屬性和方法,封裝指的就是把屬性和方法隱藏起來,只保留一些對外的介面和外部進行互動。

封裝的好處:

  i.減少耦合;

  ii.方便的修改自己的實現程式碼,不用修改那些呼叫我們程式碼的程式片段。

  1. 繼承

繼承就是子類繼承父類的特徵和行為,使得子類物件具有父類的非private屬性和方法。

           

a)類的繼承格式:

通過extends關鍵字申明一個類繼承另一個類,如

class父類{}

class子類extends父類{}

b)為什麼需要繼承?

減少程式碼重複、臃腫,提高程式碼可維護性。

  1. 多型

多型就是同一個介面,使用不同的實現,而執行不同的操作。

如圖:

a)多型的三個必要條件:

  i.繼承(extends)

  ii.重寫(子類重寫父類的同名方法)

  iii.父類引用指向子類的物件,如:

    Animal  a  = new Cat() ;

    父類引用animal指向子類cat

  1. 抽象

抽象是將一類物件的共同特徵總結出來構造類的過程,包括資料抽象和行為抽象,資料抽象指的是屬性,行為抽象指的是方法。

(1)抽象方法:使用abstract修飾的方法是抽象方法。

(2)抽象類:包含抽象方法的類是抽象類,抽象類使用abstract修飾。

(補充:不準確,抽象類中可以不包含抽象方法,但是如果一個抽象類中不包含抽象方法,定義為抽象類沒有意義,所以我們就認為包含抽象方法的類就是抽象類)。

  i.抽象類不能建立物件;

  ii.如果一個類繼承了抽象類,子類必須實現父類的抽象方法。如果子類沒有實現父類的抽象方法,則必須將子類也定義為abstract。

iii.抽象類就是用來作為父類,讓子類繼承的。如果我們定義了一個抽象類,卻不去繼承它,就等於白白建立了一個抽象類,沒有任何意義。

 

我的微信公眾號-darklovy我的微信公眾號-ttxxly我的知識星球-darklovy