抽象类
抽象类是用来作为基类的,用来提供多个派生类可共享的基类的公共定义,位于类继承层次的顶端
抽象类不能直接实例化,而且只能使用abstract关键字来标识
抽象类可以包含抽象的成员,如抽象属性和抽象方法,也可以包含非抽象的成员,甚至还可以包含虚方法
抽象类必须由其子类实现它的抽象方法(除非子类也具有抽象性)
抽象类和抽象方法
– 有抽象方法的类一定是抽象方法
abstract class Person{
public abstract void SayHi();
}
– 使用override 实现抽象方法
public override void SayHi(){
Console.WriteLine("HI!");
}
应用场合:
抽象类和抽象方法实现多态性
父类提供一系列规定, 约束子类的行为
父类可以提供一些共性的行为