C#的多态方法----抽象方法
之前有一篇讲过C#的多态方法----虚方法,这篇就讲下抽象方法
现在创建一个父类
public abstract class Animal
{
public abstract void Bark();
}
抽象方法就是需要在定义父元素的时候加上abstract关键字,构造方法也需要加上abstract而且其中构造方法是必须没有方法体的。
子类需要重写构造方法的时候也是增加override关键字
public class Dog : Animal
{
public override void Bark()
{
Console.WriteLine("狗汪汪叫");
}
}
public class Cat : Animal
{
public override void Bark()
{
Console.WriteLine("猫喵喵叫");
}
}
以上例子可以看出Dog与Cat类都继承Animal这个类,也重写了Bark这个构造方法。
我们再看下实例部分
static void Main(string[] args)
{
//调用实体
Animal d = new Animal(); //会报错
}
以上实体调用会报错,因为Animal父类中的构造方法是没有实现的,所以无法调用到。
我们应该这样:
static void Main(string[] args)
{
//调用实体
//Animal d = new Animal();
Animal d = new Dog();
d.Bark();
Animal C = new Cat();
C.Bark();
Console.ReadKey();
}
结果:
狗汪汪叫
猫喵喵叫
就可以输出结果了。