实现多态的手段之一就是virtual--在父类中定义虚方法,让继承该父类的子类重写父类中的虚方法从而实现多态。而抽象类实际上就是virtual的一个升级,抽象类中定义的抽象方法就是为了让子类重写的,你只要清楚了重写可以实现多态,那么你这个问题我想也就解决了。这里简单举个例子:- //定义一个抽象类
- abstract class Person
- {
- //定义一个抽象方法
- public abstract void SayHello();
- }
- class Teacher:Person
- {
- //实现抽象类中的抽象方法
- public override void SayHello()
- {
- Console.WriteLine("同学们好!");
- }
- }
- class Student : Person
- {
- public override void SayHello()
- {
- Console.WriteLine("老师好!");
- }
- }
复制代码- Person person = new Teacher();
- person.SayHello();//运行结果:同学们好!
- person = new Student();
- person.SayHello();//运行结果:老师好!
- Console.ReadKey();
复制代码 |