在C#中,抽象函数也是虚拟的,但不用提供virtual标识,否则会报错。
测试代码:
抽象类:
public abstract class AbstractCell
{
public abstract string GetDescription();
}
继承抽象类(一层):
public class CellLevelOne:AbstractCell
{
public override string GetDescription()
{
return "cell at level one";
}
}
继承一层(二层):
public class CellLevelTwo:CellLevelOne
{
public override string GetDescription()
{
return "cell at level two";
}
}
使用继承层次中的类:
AbstractCell cellLevel1 = new CellLevelOne();
MessageBox.Show(cellLevel1.GetDescription());
// 显示 "cell at level one"
AbstractCell cellLevel2 = new CellLevelTwo();
MessageBox.Show(cellLevel2.GetDescription());
// 显示 "cell at level two"