c#方法重寫和隱藏的學習示例
最近正在學習c#,對其中的方法重寫和隱藏的概念很是模糊,現(xiàn)在將其歸納如下:
1:方法重寫:就是在基類中的方法用virtual關鍵字來標識,然后在繼承類中對該類進行重寫(override),這樣基類中的方法已經被重寫了,已經失去了功能了。當讓基類的對象的引用直接指向繼承類的對象時(多態(tài)性),調用該方法則是調用的繼承類的方法。
2:方法隱藏:無論基類中的方法是否用了virtual關鍵字,繼承類中都可以用new關鍵字(如果不用new的話,不會產生錯誤,但會生成一個編譯警告)將基類中的方法隱藏,所謂隱藏就是隱藏,不像重寫,重寫就是原來的(基類中)已經不存在了,而隱藏是原來的還存在。所以當讓基類的對象的引用直接指向繼承類的對象時(多態(tài)性),調用該方法則是調用的基類的方法。
代碼如下:
public class BaseClass
{
public void functionA()
{
Console.WriteLine("BaseFunctionA http://www.dhdzp.com/sosoft/");
}
public virtual void functionB()
{
Console.WriteLine("BaseFunctionB http://www.dhdzp.com/sosoft/");
}
}
public class DerivedClass:BaseClass
{
public new void functionA()
{
Console.WriteLine("DerivedFunctionA http://www.dhdzp.com/sosoft/");
}
public override void functionB()
{
Console.WriteLine("DerivedFunctionB http://www.dhdzp.com/sosoft/");
}
}
當利用多態(tài)性執(zhí)行下面代碼時:
BaseClass baseFunction=new DerivedClass();
baseFunction.functionA();
baseFunction.functionB();
得到的結果是:
BaseFunctionA http://www.dhdzp.com/sosoft/
DerivedFunctionB http://www.dhdzp.com/sosoft/
- 詳解C#用new和override來實現(xiàn)抽象類的重寫區(qū)別
- C# 重寫ComboBox實現(xiàn)下拉任意組件的方法
- C#重寫DataGridView
- 在C#的類或結構中重寫ToString方法的用法簡介
- C#通過重寫Panel改變邊框顏色與寬度的方法
- c#重寫TabControl控件實現(xiàn)關閉按鈕的方法
- C#中重載與重寫區(qū)別分析
- C#運算符重載用法實例分析
- C#中重載相等(==)運算符示例
- C#中多態(tài)、重載、重寫區(qū)別分析
- C#重載運算符詳解
- 基于C#方法重載的總結詳解
- c# 重載WndProc,實現(xiàn)重寫“最小化”的實現(xiàn)方法
- C#中重載重寫和覆蓋的定義與區(qū)別
相關文章
js substr,substring與java substring和C# substring的區(qū)別解析
本篇文章主要是對js中substr,substring與java中substring和C#中substring的區(qū)別進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-01-01

