多态性是指在一般类中定义的属性或操作被特殊类继承之后.pptVIP

多态性是指在一般类中定义的属性或操作被特殊类继承之后.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多态性 是指在一般类中定义的属性或操作被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。 多态性的作用在于它允许我们开发灵活的系统,我们只要指定什么应该发生,而不是它应该怎样发生,以便获得一个易修改、易变更的系统。 多态性(1) 多态性(2) 编译时的多态性 编译时的多态性是通过重载来实现的。对于非虚的成员来说,系统在编译时,根据传递的参数、返回的类型等信息决定实现何种操作。 运行时的多态性 运行时的多态性就是指直到系统运行时,才根据实际情况决定实现何种操作。 C#中,运行时的多态性通过覆写虚成员实现。 重载(Overload) 重载—类中定义的方法可能有不同的版本 public bool Withdraw(double amt, string name) public double Withdraw(double amt) 特点 方法名必须相同 参数列表必须不相同 返回值类型可以不相同 虚拟函数 声明虚方法 使用virtual关键字 public virtual bool Withdraw(…); 调用虚方法,运行时将确定调用对象是什么类的实例,并调用适当的覆写的方法。 虚方法可以有实现体 覆写(Override) 子类中为满足自己的需要来重复定义某个方法的不同实现——覆写 通过使用关键字override来覆写 public override bool Withdraw(…) 只有虚方法和抽象方法才能被覆写 要求: (三相同) 相同的方法名称 相同的参数列表 相同的返回值类型 Override Overload比较 抽象方法 抽象方法是必须被派生类覆写的方法。 抽象方法是可以看成是没有实现体的虚方法 如果类中包含抽象方法,那么类就必须定义为抽象类,不论是否还包含其它一般方法 publc abstract bool Withdraw(…); * * 面向对象程序设计中的重要概念多态性。 在运行时,可以通过指向基类的引用,来调用实现派生类中的方法。 同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。 多态性通过派生类覆写基类中的虚函数型方法来实现。 必须不同 相同 参数列表 可以不相同 相同 返回值 相同 相同 方法名 存在于同一类中 存在于继承关系的类中 位置 Overload 重载 Override 覆写 Items C#支持两种类型的多态性: ● 编译时的多态性   编译时的多态性是通过重载来实现的。对于非虚的成员来说,系统在编译时,根据传递的参数、返回的类型等信息决定实现何种操作。 ● 运行时的多态性   运行时的多态性就是指直到系统运行时,才根据实际情况决定实现何种操作。C#中,运行时的多态性通过虚成员实现。   编译时的多态性为我们提供了运行速度快的特点,而运行时的多态性则带来了高度灵活和抽象的特点。 Visual Studio tips Virtual 不能 与static 和 abstract 同时使用 * * *

文档评论(0)

霞霞147 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档