第九章定义类-继承.pptVIP

  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文档。上传文档
查看更多
第九章 定义类 课程回顾 类的定义方法 类的定义方法同结构体类似,只是类是使用‘class’关键字进行定义的。 课程回顾 类的使用 在 C# 中,我们使用 new 运算符来创建类的对象。 课程回顾 构造函数 构造函数是指在创建类的对象时自动执行的函数,由它负责对类的对象进行初始化。 构造函数其实就是定义这样的函数,它的名字与类的名字相同,并且不用定义返回类型,因为构造函数是不能返回值的。 构造函数是一种强制性的约定,在创建类的对象时会自动调用它。 课程回顾 构造函数的定义 课程回顾 构造函数定义示例 课程回顾 带参数的构造函数 课程回顾 构造函数的重载 课程回顾 构造函数的强制性 如果类中定义了构造函数,就必需在创建类的对象时使用适当的参数来调用它。 课程回顾 构造函数的强制性 如果类中定义了构造函数,就必需在创建类的对象时使用适当的参数来调用它。 课程回顾 构造函数总结 C#中如果没有定义构造函数则系统会提供一个缺省构造函数,但一旦类中提供了自定义的构造函数,则缺省构造函数将不会被提供,这一点要注意。 面向对象的关键特性——继承 “继承”这个词的字面含义是: 按照法律或遵照遗嘱接受死者的财产、职务、头衔、地位等。 面向对象方法中的继承与现实世界中的继承的意义基本相同,是指一个类完全继承了另一个类的所有内容(除私有成员),如字段、成员函数等。 继承是一种父母与孩子的关系,孩子从父母那继承了一些父母的特点,并也有着与父母的不同之处。 课程内容回顾 继承关系中各类的地位和名称 面向对象的关键特性——继承 继承示例 人与学生、教师、士兵之间的继承关系 课程内容回顾 继承的用法 课程内容回顾 继承使用示例 课程内容回顾 继承使用示例 课程内容回顾 继承 什么是继承 继承是指子类自动共享父类的字段和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。 派生类从基类继承后,将通过类的继承关系,使基类的公共的特性能够被派生类所共享,提高了软件的重用性。 面向对象的关键特性——继承 继承的使用示例 面向对象的关键特性——继承 继承的使用示例 class A { public int i, j; public void showij() { Console.WriteLine(i and j: {0} {1}, i, j); } } class B : A { public int k; public void showk() { Console.WriteLine(k:{0}, k); } public void sum() { Console.WriteLine(i+j+k: {0}, i + j + k); } } static void Main(string[] args) { A superOb = new A(); B subOb = new B(); superOb.i = 10; superOb.j = 20; Console.WriteLine(父类的i和j为: ); superOb.showij(); subOb.i = 7; subOb.j = 8; subOb.k = 9; Console.WriteLine(子类的i和j为: ); subOb.showij(); subOb.showk(); Console.WriteLine(子类中i,j,k的和为:); subOb.sum(); } 子类B包括它的父类A中的所有成员。 这就是为什么subOb 可以获取i和j 以及调用showij( ) 方法的原因。 同样,sum( ) 内部,i和j可以被直接引用。 继承的更多内容 找出下例中的问题 继承的更多内容 错误原因分析 子类在创建对象执行构造函数之前会先执行父类中与之匹配的构造函数 在本例中 public Derive() { } //子类构造函数 与之匹配的基本构造函数应该是: public

文档评论(0)

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

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

1亿VIP精品文档

相关文档