C 類中隱藏基類方法和Partial

2021-07-27 23:44:30 字數 1246 閱讀 8328

時間 2014-11-14 11:50:03 

薑糖水

原文主題c#

今天對於.net開發人員來說最開心的事情莫過於微軟搞開源了,這覺得是給搞.net開發的長臉。雖然我是乙個初學者,這無疑給我極大的學習動力。fighting!!!

當乙個類從父類繼承了乙個成員時,也就繼承了它的執行**,如果成員時虛擬的,我們可以用override重寫這段執行**。但無論他是否是虛擬的,都可以通過new 關鍵字來隱藏它。例如:

public

class

baseclass

}public

class

childclass:baseclass

}

如果不使用new關鍵字的話,編譯器會警告,說隱藏了基類成員。這樣當我們不想繼承的方法像基類那樣執行我們就可以隱藏它。

有如下兩個類:

public

class

baseclass

}public

class

childclass:baseclass

}

我們用下面的**呼叫它們

childclass child= new

childclass();

baseclass baseclass;

baseclass =child;

baseclass.dosomething();

結果為

basefunction!

如果我們不使用new關鍵字,而是用override重寫基類的方法,那麼我們得到的結果應該是「child function!」。

partial定義部分類和部分方法

我們可以通過partial來定義乙個類,通過這個關鍵字我們可以在乙個檔案中定義字段、屬性和建構函式,而在另外的乙個檔案中定義其方法。

public

partial

class

myclass

在windows窗體應用程式中就用到了部分類的定義,windows窗體的**分別在form.cs和form.designer.cs中。

對於方法我們同樣可以在不同的部分類中定義,在乙個部分類中宣告它,在另外乙個部分類中實現,例如像下面的**:

public

partial

class

myclass

public

partial

class

myclass

}

c 隱藏基類方法和重寫基類方法的區別

最近重新學習c 中基礎,找到了隱藏基類方法和重寫基類方法的一點區別,二者都是在派生類中定義了與基類中相同的方法,相同點派生類物件將執行各自的派生類中的方法,不同點,在向上轉型後,重寫基類方法的呼叫的是派生類的方法,而隱藏基類呼叫的是基類的方法,具體實驗 class program 如果乙個方法被子類...

c 隱藏基類方法和重寫基類方法的區別

最近重新學習c 中基礎,找到了隱藏基類方法和重寫基類方法的一點區別,二者都是在派生類中定義了與基類中相同的方法,相同點派生類物件將執行各自的派生類中的方法,不同點,在向上轉型後,重寫基類方法的呼叫的是派生類的方法,而隱藏基類呼叫的是基類的方法,具體實驗 class program 如果乙個方法被子類...

C 隱藏基類方法和重寫

本質上來說,是隱藏子類中基類的方法,但在子類中仍然可以訪問該功能。示例如下 namespace 隱藏基類和重寫 public class duck animal class program 執行結果為 值得注意的是,若在子類duck中不使用new,可以正常執行,但會生成乙個警告如下,說明隱藏了乙個基...