關於擴充套件類呼叫方法和呼叫欄位的區別

2021-08-19 14:25:44 字數 372 閱讀 1355

擴充套件類呼叫方法具體呼叫父類還是子類的方法是由物件的實際類決定的而不是由引用型別決定的。

如:m類是父類,子類n繼承自m類,在子類n的主方法中建立乙個新的物件且用父類定義子類的引用變數同時呼叫父類和子類的test()函式,寫成**如下:

n k=new n(); m q=k;

因為k和w的實際物件都是一樣的,它們物件的類都是子類。則k.test()和q.test()輸出的結果是呼叫子類的test()函式,輸出結果相同。假如在父類m中存在欄位public string y="gho";在子類n中存在欄位public string y="iso";由於對於欄位的訪問是由引用型別所決定的,則k.y的結果是呼叫子類n的字段輸出結果是iso,而q.y的結果是呼叫父類m的字段輸出結果是gho。

class類使用變數呼叫方法(用字典呼叫)

有時會通過變數傳遞方面傳遞,但將類作為變數傳遞或變化,會比較麻煩,此時,可通過字典對類進行呼叫,詳情如下 使用變數呼叫類及類函式,需用字典 class a def init self,a self.a a.get b none print self.a def k self print k clas...

動態呼叫類和方法

舉乙個很簡單的例子 某公司的有1000名員工,每個員工的工資都不一樣.發工資的時候,這要是人工去發,耗費的時間和精力是非常大的.所以財務會打乙個 給銀行,委託銀行轉賬.站在銀行的角度,如果有1000個公司,委託銀行轉賬發工資.它應該怎麼做呢?它需要通過電子轉賬系統,輸入公司名字,每個員工的工資數,就...

Silverlight 關於執行緒呼叫的擴充套件方法

silverlight 裡需要考慮非同步呼叫的問題,比較麻煩。所以寫了兩個簡單的擴充套件方法。乙個方法是為了更新 ui 控制項。可以自動在不同的呼叫環境下判斷是否需要 invoke,從而安全的呼叫控制項相關的方法。另乙個方法的目的是把任務放到 threadpool 裡去等待後續的非同步執行。如下 u...