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 子...