基本概念
被抽象关键字 abstract
修饰的类
抽象类不能被实例化,可以包含抽象方法
继承抽象类必须重写其抽象方法
abstract class Thing
{//抽象类中封装的所有知识都可以用public string name;
}
class Water : Thing
{}
//不能被实例化,但是可以适用里氏替换原则
Thing t = new Water();
抽象方法
用 abstract
修饰的方法
只能在抽象类中申明
没有方法体
不能是私有的
继承后必须用 override
重写
//只能在抽象类中申明
abstract class Fruits
{public string name;//不能是私有的//没有函数体,没有大括号public abstract void Bad();//虚方法和抽象方法的区别public virtual void TestFunc(){}
}
class Apple : Fruits
{public override void Bad(){}
}