//定义一个抽象类
abstract class classBase
{
public classBase()
{
CreateSome1();
CreateSome2();
CreateSome3();
}
//包含三个方法 分别是abstract和virtual
protected abstract void CreateSome1();
protected abstract void CreateSome2();
protected virtual void CreateSome3() { }
}
virtual修饰的方法必须有实现(哪怕是仅仅添加一对大括号),而abstract修饰的方法一定不能实现(如上图)。
class classA:classBase
{
protected override void Createsome1()
{
//方法一
}
protected override void Createsome2()
{
//方法二
}
protected override void Createsome3()
{
//方法三 virtual可以被子类重写,而abstract必须被子类重写
}
}
virtual可以被子类重写,而abstract必须被子类重写。