A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 不是炎亚纶 于 2013-11-11 21:17 编辑

谢谢大家回答了 {:soso_e178:}

评分

参与人数 1技术分 +1 收起 理由
haxyek + 1

查看全部评分

2 个回复

倒序浏览
实现多态的手段之一就是virtual--在父类中定义虚方法,让继承该父类的子类重写父类中的虚方法从而实现多态。而抽象类实际上就是virtual的一个升级,抽象类中定义的抽象方法就是为了让子类重写的,你只要清楚了重写可以实现多态,那么你这个问题我想也就解决了。这里简单举个例子:
  1. //定义一个抽象类
  2.     abstract class Person
  3.     {
  4.         //定义一个抽象方法
  5.         public abstract void SayHello();
  6.     }
  7.     class Teacher:Person
  8.     {
  9.         //实现抽象类中的抽象方法
  10.         public override void SayHello()
  11.         {
  12.             Console.WriteLine("同学们好!");
  13.         }
  14.     }
  15.     class Student : Person
  16.     {
  17.         public override void SayHello()
  18.         {
  19.             Console.WriteLine("老师好!");
  20.         }
  21.     }
复制代码
  1. Person person = new Teacher();
  2.             person.SayHello();//运行结果:同学们好!

  3.             person = new Student();
  4.             person.SayHello();//运行结果:老师好!

  5.             Console.ReadKey();
复制代码

评分

参与人数 1技术分 +1 收起 理由
haxyek + 1

查看全部评分

回复 使用道具 举报
凤凰涅槃 发表于 2013-11-11 21:11
实现多态的手段之一就是virtual--在父类中定义虚方法,让继承该父类的子类重写父类中的虚方法从而实现多态 ...

我明白了 ,谢谢哈 !
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马