c#繼承中的函數(shù)調用實例
本文實例講述了c#繼承中的函數(shù)調用方法,分享給大家供大家參考。具體分析如下:
首先看下面的代碼:
namespace Test
{
public class Base
{
public void Print()
{
Console.WriteLine(Operate(8, 4));
}
protected virtual int Operate(int x, int y)
{
return x + y;
}
}
}
namespace Test
{
public class OnceChild : Base
{
protected override int Operate(int x, int y)
{
return x - y;
}
}
}
namespace Test
{
public class TwiceChild : OnceChild
{
protected override int Operate(int x, int y)
{
return x * y;
}
}
}
namespace Test
{
public class ThirdChild : TwiceChild
{
}
}
namespace Test
{
public class ForthChild : ThirdChild
{
protected new int Operate(int x, int y)
{
return x / y;
}
}
}
namespace Test
{
class Program
{
static void Main(string[] args)
{
Base b = null;
b = new Base();
b.Print();
b = new OnceChild();
b.Print();
b = new TwiceChild();
b.Print();
b = new ThirdChild();
b.Print();
b = new ForthChild();
b.Print();
}
}
}
運行結果為:
12
4
32
32
32
從結果中可以看出:使用override重寫之后,調用的函數(shù)是派生的最遠的那個函數(shù),使用new重寫則是調用new之前的派生的最遠的函數(shù),即把new看做沒有重寫似的。
希望本文所述對大家的C#程序設計有所幫助。
相關文章
C# 解決datagridview控件顯示大量數(shù)據拖拉卡頓問題
這篇文章主要介紹了C# 解決datagridview控件顯示大量數(shù)據拖拉卡頓問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-01-01c# HttpWebRequest通過代理服務器抓取網頁內容應用介紹
在C#項目開發(fā)過程中可能會有些特殊的需求比如:用HttpWebRequest通過代理服務器驗證后抓取網頁內容,要想實現(xiàn)此方法并不容易,本文整理了一下,有需求的朋友可以參考下2012-11-11