靜態方法沒有多型表現!原理說的很透徹!!

2021-05-22 19:10:53 字數 338 閱讀 8678

class super

string name()

} class sub extends super

string name()

} class differ

} 輸出結果為

晚上好,子類

「晚上好」是父類方法的輸出,而「子類」是子類方法的輸出,這是由於greeting是乙個靜態方法,它沒有執行時多型的特性,它的呼叫在s宣告時就已經確定好了

造成這種區別的原因很簡單,例項方法總是和某個物件繫結在一起,而靜態方法則沒有與某個物件繫結在一起也就無從查詢呼叫時該物件實際所屬的類別

ts靜態屬性 靜態方法 抽象類 多型

function person 例項方法,例項化後呼叫 person.run2 function 靜態方法,類名直接呼叫 person.name lucy 靜態屬性 person.run2 靜態方法的呼叫靜態方法 例項方法在jq中的應用 function element get function f...

C 多型的實現方法以及原理

產生多型必備條件發生繼承 繼承物件導向程式設計的全新概念,意思是父類有的public或者protected是的方法或者資料成員,子類public或者protected繼承後可以直接訪問或者使用,private的方法資料成員也會被繼承不過不能直接使用,也就是說子類就包含了父類所有的方法和資料成員,那麼...

php 物件導向之繼承 多型和靜態方法

繼承 子類可以繼承父類的一切 特點 單繼承 父類 class ren 美國人的子類 class america extends ren 中國人的子類 class china extends ren c new china c say var dump a 多型 條件 1.必須要繼承。2.子類要對父類...