虛方法:
定義含有關鍵字:Virtual,在派生類中可對此方法重寫(override),也可以直接使用;
一般虛方法含有函數體;
抽象方法:
虛方法的一個特例,沒有函數體,只有函數定義;抽象方法必須在派生類里重寫,進行代碼實現。
為了避免命名沖突,可在派生類里對基類方法隱藏(new 關鍵字)
using System.Collections.Generic;
using System.Text;
namespace inherit_1_
{
class InheritCls:BasicCls
{
static void Main(string[] args)
{
InheritCls a = new InheritCls();
a.BasicMethod();
a.InheritMethod();
Console.Read();
}
public override void BasicMethod() //重寫BasicCls方法
{
Console.WriteLine("This is InheritMethod");
}
public new void InheritMethod() //隱藏了BasicCls 方法
{
Console.WriteLine("The new InheritMethod Demo");
}
}
class BasicCls
{
public virtual void BasicMethod()
{
Console.WriteLine("This is BasicMethod");
}
public void InheritMethod()
{
Console.WriteLine("This is new BasicMethod");
}
}
}