多型 成員變數和成員方法的多型性

2021-09-02 04:21:13 字數 870 閱讀 1592

1、成員方法的多型性

public class polymorphism

}class basepolymorphism

public void method1()

//此方法會被子類的同名方法覆蓋

public void method2()

private void method3()

}class subpolymorphism extends basepolymorphism

//雖然該方法與父類中的方法完全相同,但由於父類中的該方法是私有的,所以此處的方法無法覆蓋父類中的同名方法

//該方法只是子類新定義的乙個方法

public void method3()}/*

執行結果:

subpolymorphism method2

basepolymorphism method1

subpolymorphism method2

basepolymorphism method3

*//*

分析:如果子類中的某個方法覆蓋父類中的同名方法,那麼即使是在父類中呼叫該同名方法,被呼叫的方法也是子類中的同名方法、而不是父類中的同名方法。

因此如果要在父類中呼叫將要被子類重寫的方法時,必須格外小心。

父類中的私有方法在子類中是不可見的,所以子類無法覆蓋父類中的私有方法。

即使子類定義了和父類的私有方法完全相同的方法,也不會覆蓋父類中對應的私有方法,僅僅是在子類中定義了乙個新方法。

*/

2、成員變數的多型性

與成員方法不同,成員變數不具有多型性。通過引用變數來訪問它包含的成員變數時,系統總是試圖訪問它編譯時型別所定義的成員變數,而不是它執行時型別所定義的成員變數。

Python多型和多型性

python多型和多型性 python 中的多型是指一類事務有多種形態。比如動物有多種形態,人,狗,貓,等等。import abc class animal metaclass abc.abcmeta 同一類事物 動物 abc.abstractmethod def talk self pass cl...

5 8 多型和多型性

多型指的是一類事物有多種形態,比如 動物有多種形態 人,狗,豬 import abc class animal metaclass abc.abcmeta 同一類事物 動物 abc.abstractmethod def talk self pass class people animal 動物的形態...

多型的核心體現(方法的多型性,物件的多型性)

多型的概念 同乙個方法,在不同的情境下會有不同的表現 多型的核心體現主要有以下兩點 1 方法的過載 定義 同乙個方法名可以根據引數列表的不同呼叫不同的方法體 2 方法的覆寫 定義 同乙個父類的方法,可以根據例項化子類的不同也有不同的表現 前提 方法覆寫 1 物件的向上轉型 父類 父類物件 new 子...