多态:让一个对象能够表现出多种状态(类型)
实现多态的三种手段:1.虚方法 2.抽象类 3.接口
父类方法有意义,虚方法.
抽象类定义:当父类中的方法不知道如何去实现的时候,可以考虑将父类写成抽象类,将方法写成抽象方法.
注意:1.抽象成员必须标记为abstract,并且不能有任何实现
2.抽象成员必须在抽象类中
3.抽象类不能实例化
4.子类继承抽象类后,必须把父类中的所有抽象成员都重写.(除非子类也是一个抽象类,则可以不重写)
5.抽象成员的访问修饰符不能是private
6.在抽象类中可以包含实例成员.并且抽象类的实例成员可以不被子类实现.
7.抽象类是有构造函数的,虽然不能被实例化.
8.如果父类的抽象方法中有参数
关键字:abstract
public abstract class Animal
{
public abstract void Bark();//必须无方法体
}
public class Dog:Animal{
public override void Bark()
{
Console.WriteLine();
}
}
虚方法:
关键字:virtual ,override
将父类方法标记为虚方法.子类方法也虚方法.