情境05 继承及多态.pptVIP

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
情境5 继 承 与 多 态 Page ? * 继承与多态 为了提高软件模块的可复用性和可扩充性,以加快软件的开发效率,用户总是希望能够利用前人或自己以前的开发成果,同时又希望在开发过程中能够有足够的灵活性,不拘泥于复用的模块。C#?提供了继承和多态这两种特性来解决。 Page ? * 知识要点 理解继承的含义 1 掌握如何实现继承 2 理解多态的含义 3 了解多态的类型 4 掌握多态的实现 5 Page ? * 继承与多态 任务5.1 复用现有的代码 任务5.2 改写对象的行为 Page ? * 类的继承是一种用现有的类来构造专用类的编程技术。新 类可以从已有的类中获得数据成员和方法成员,并且可以根 据需要增加新的成员,从而提高开发效率。通过该任务,我 们应掌握继承的特点、继承的实现、派生类的构造、抽象类 和抽象方法。 任务5.1 复用现有的代码 Page ? * 任务5.1 复用现有的代码 代码展示 代码清单清单5-1:测试类继承 代码分析: 功能描述 通过继承方法来认识通讯录中的人员关系。我们可以用一个已编好的Person类来扩写一个新的类,新的类将具有原有类的所有属性与操作,也可以在原有类的基础上做一些修改和增补。 知识点讲解 5.1.1 继承的实现 5.1.2 派生类的构造 5.1.3 抽象类和抽象方法 Page ? * 5.1.1 继承的实现 类继承通过以下方式来实现:在声明类时,在类名称后放置一个冒号,然后在冒号后指定要从中继承的基类。类继承的格式如下 ? class A //A为基类 { } class B:A //B继承了A { } class C:B //C继承了B { } ? 通过对类进行继承,可以简化类的定义。在C#?语言中,只支持单继承,不允许多重继承。也就是一个派生类只能有一个基类,不允许一个类直接继承多个基类。但可以像以上的格式实现多层继承,这样,类C也间接继承了类A。 Page ? * 5.1.2 派生类的构造 在创建类的实例时,会自动调用类的构造函数。如果没有专门定义构造函数,会调用默认的构造函数。在派生类中,如果没有专门定义的构造函数,则在创建派生类的实例时,将执行其默认的构造函数。该默认构造函数会首先调用其基类的默认构造函数,然后再调用派生类的构造函数。调用基类构造函数是通过base关键字来执行的。这里注意与前面曾提到类的构造函数可以使用this保留字的区别,如果要访问一个实例字段(该字段属于类的一个特定实例),就需要使用this关键字。但若要在派生类中调用基类的构造函数,则使用base保留字。 派生类构造函数格式如下 类修饰符 派生类构造函数名称 (形参表): base(实参表) { } 冒号后面跟随着调用基类的构造函数。 Page ? * 5.1.3 抽象类和抽象方法 (1) 抽象方法的声明只能在抽象类中。 (2) 一个抽象方法可以看作是一个虚函数。 (3) 抽象方法声明只提供一个无实现的方式,没有方法体。 (4) 必须在非抽象类里实现抽象方法,格式为:override+?抽象方法。 (5) 在一个静态属性中使用abstract是一个错误。 2 抽象方法的特点 (1) 抽象类不能直接被实例化,并且在使用new运算符时会导致编译错误。 (2) 抽象类允许(但不必须)包含抽象成员。 (3) 抽象类不能被密封。 (4) 从抽象类派生的非抽象类必须包括继承的所有抽象方法和抽象访问器的实现。 1 抽象类的特点 Page ? * 继承与多态 任务5.1 复用现有的代码 任务5.2 改写对象的行为 Page ? * 多态性允许客户对一个对象进行操作,同一操作作用于不 同的对象,可以有不同的解释,产生不同的执行结果。通过 多态我们可以改写对象的行为。通过该任务,我们应掌握如 何通过多态来改写对象的行为,学会虚方法和方法重载的使 用。 任务5.2 改写对象的行为 Page ? * 任务5.2 改写对象的行为 代码展示 代码清单5-3:测试多态的实现。 代码分析: 功能描述 假设公司对具有不同学历的员工进行不同的工资核算制度,每位员工的工资每年按15%的比例上浮,普通员工刚进公司时的工资是1?000元,本科生的月工资是普通员工工资的1.5倍,而硕士生为普通员工的两倍。用虚方法和方法重写来实现多态性。 知识点讲解 5.2.1 多态的类型 5.2.2 虚方法与重载方法 5.2.3 密封类和密封方法 Page ? * 5.2.1 多态的类型 在C#?中,有两种类型多态,一种是编译时的多态性,另一种是运行时的多态性。 编译时的多态性,就是程序在编译时就

文档评论(0)

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

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

1亿VIP精品文档

相关文档