多型的理解

2021-08-01 08:45:37 字數 2101 閱讀 6580

1.對多型的理解:同乙個物件不同時刻體現出來的不同狀態

簡單來說就是貓和狗都是動物,但他們又有許多不同,貓和狗是動物向下延伸的不同結果,這就是多型。

2.多型的前提:

a:有繼承或者實現關係。

b:有方法重寫。

c:有父類或者父介面引用指向子類物件。

3.多型的分類:

a:具體類多型

class

fu {}

class

ziextends

fu {}

fu f = new zi();

b:抽象類多型
abstract

class

fu {}

class

ziextends

fu {}

fu f = new zi();

c:介面多型
inte***ce

fu {}

fu f = new zi();

4.多型中的成員訪問特點

a:成員變數

編譯看左邊,執行看左邊

b:構造方法

子類的構造都會預設訪問父類構造(注:子類預設呼叫父類的無參構造,等於預設在子類的構造方法中有super();)

c:成員方法

編譯看左邊,執行看右邊

d:靜態方法

編譯看左邊,執行看左邊

package com.lenovo.demo3;

/** * 動物類

*@author petrichor

* */

public

class

animal

public

animal(int a)

public

void

eat()

public

void

sleep()

public

intgeta()

public

void

seta(int a)

}

package com.lenovo.demo3;

/** * 貓類

*@author petrichor

* */

public

class

catextends

animal

public

cat()

public

void

eat()

public

void

sleep()

public

void

fly()

}

package com.lenovo.demo3;

/** * 測試類

*@author petrichor

* */

public

class

tset

}

這個動物和貓類基本體現多型中成員變數、成員方法、構造方法的呼叫,可以看到當我們

animal cat =new cat();
呼叫的a是animal類的。而當

cat cat2 =new cat(5);
呼叫的a是cat類的。

5.多型的好處:

a:提高**的維護性(繼承體現)

b:提高**的擴充套件性(多型體現)

6.多型的弊端:

父不能使用子的特有功能。

現象:

子可以當作父使用,父不能當作子使用。

7.多型中的轉型

a:向上轉型

從子到父

b:向下轉型

從父到子

多型的理解

1 同乙個物件在不同時刻體現出來的不同狀態。2 多型的前提 a 有繼承或者實現關係。b 有方法重寫。c 有父類或者父介面引用指向子類物件。多型的分類 a 具體類多型 class fu class zi extends fu fu f new zi b 抽象類多型 abstract class fu ...

多型的理解

多型 事物執行過程中存在不同的狀態 多型存在的條件 必須具有繼承關係,子類要重寫父類的方法,父類引用子類的物件 例如乙個父類animal 子類 cat 通過輸出結果可以很充分的體現了多型的三個前提 1.必須有繼承關係 cat繼承animal 2.必須重寫父類方法 子類cat重寫了父類的eat,rn,...

多型的理解

物件導向三原則 繼承 封裝 多型。必要條件 繼承 重寫 父類引用指向子類物件。過載是類中多型性的表現,重寫是父類和子類間多型性的表現。如果在子類中定義某方法與其父類有相同的名稱和引數,我們說該方法被重寫 子類的物件使用這個方法時,將呼叫子類中的定義,對它而言,父類中的定義如同被 遮蔽 了。如果在乙個...