- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
派生与继承具体例子, person, Baseball player, Employee, supervisor. 继承增加成员包括数据成员(属性)和函数成员(在新的数据上的新的操作) 有时需要重写函数成员,对象变了,相应的操作也应该更改,如上例。注意Overloading和overriding区别。 Overriding基本别虚函数代替 派生类继承基类有三种方式,对派生类访问基类成员的限制 从基类的成员访问控制标识符角度来分析解释 (1)public(公有继承):继承时保持基类中各成员属性不变,并且基类中private成员被隐藏。派生类的成员只能访问基类中的public/protected成员,而不能访问private成员;派生类的对象只能访问基类中的public成员。 (2)private(私有继承):继承时基类中各成员属性均变为private,并且基类中private成员被隐藏。派生类的成员也只能访问基类中的public/protected成员,而不能访问private成员;派生类的对象不能访问基类中的任何的成员。 (3)protected(保护性继承):继承时基类中各成员属性均变为protected,并且基类中private成员被隐藏。派生类的成员只能访问基类中的public/protected成员,而不能访问private成员;派生类的对象不能访问基类中的任何的成员。 通过具体实例解释各种访问控制的区别,加深同学们的记忆和理解 假设有两个类:Computer和Employee。明显地,这两个类之间不存在is a的关系,即Employee不是计算机,它们之间没有继承关系的必要。因此不可能产生代码重用性。但这两个类之间是has a关系,即是支持的关系。例如,Employeehas aComputer。明显地是一种支持关系。这种支持关系落实到代码中,就是在Employee中创建Computer的对象,调用其方法,到达完成某种运算和操作的目的。 Employee和Manager 类存在的则是is a关系,即Manager是Employee。它们之间存在共性,或者共同的属性。Manager是Employee的具体化;Employee是Manager的概括和抽象。概括性和抽象性的类,如Employee,在继承中则定义为超类。具体或代表对象特性的类,如Manager,则定义为子类。如果这是一个用来计算雇员工资的程序,那么在超类Employee中,我们应当包括所有子类都应该具有的、与计算工资有关的数据,例如name、employeeID、jobTitle、seniority、baseSalary以及用来计算基本工资部分的方法,如baseSalary()等。在Manager这个子类中,我们不仅继承Employee的所有数据和方法,还增加针对Manager的新的数据,如是否董事会成员boardMember、职务补贴merit等,因为除基本工资的计算之外,这些都影响到具有经理职务雇员的收入。 子类对象可以强制转换为父类或者赋值给父类,按父类来引用子类一般是正确的,这种转换叫做向上强制类型转换。如果说这种转换或者是赋值是直接在对象上进行操作的,那么会发生切割问题,原因是父类对象没有子类自己定义的附加功能 在C++程序员的面试中,经常会出现派生类与基类的构造函数、析构函数的执行顺序。其实这是一个很基本的问题,没有什么难度,只需要记住就OK了 派生类和基类的构造函数析构函数调用次序, 重点 通过这个例子强化派生类基类构造函数析构函数声明定义规则和执行顺序 重点理解多重继承带来的钻石问题:基类成员通过两条不同途径继承到派生类,在派生类中就会有两个基类成员的拷贝,从而造成二义性问题。所以在类的设计过程中尽量避免这种问题的产生。 被屏蔽的基类成员函数可通过类名+作用域标识符(::)来访问。 多重继承存在的意义,往往是功能的叠加,但要注意钻石问题。 指出课本关于作用域操作符使用的错误。 多态的概念 虚函数的语法,基类中的虚函数在派生类中的虚函数特性 例子,通过基类指针触发实现多态特性,并解释为什么需要虚函数,虚函数功能 强调虚函数定义的语法, 函数的三要素要完全一致,否则是重载,构成同名覆盖。 虚函数返回类型如果是类类型指针或引用,可以构成多态 举例子强调上述注意 必须搞懂触发多态的两个要点,缺一不可 课本例子 什么样的成员函数可以声明为虚函数 举例说明基类的析构函数声明为虚函数的必要性 纯虚函数存在的意义 它用于这样的情况:定义一个基类时,会遇到无法定义基类中虚函数的具体实现,其实现依赖于不同的派生类 含有纯虚函数的基类是不能用来定义对象的。纯虚函数没有实现部分,不能产生对象,所以含有纯虚函数的类是抽象类。 定义纯虚函数需要注意的地方 例
您可能关注的文档
- 彝药发展简史.ppt
- 形体训练概述.doc
- 形式审查的重点.ppt
- 形形色色的生物.ppt
- 形成均稳定的混合物2溶液分为溶质和溶剂两部分.ppt
- 形成胸腺嘧啶二聚体影响DNA复制CTAGGATCCTAGGATC.ppt
- 彩色多普勒超声系统挂网.doc
- 彩色缤纷的世界.doc
- 影响微生物生长之因子.ppt
- 影响气体放电电压的因素任务二一.ppt
- 济源市鸿钟鑫精密机械有限公司机械零件加工项目环评资料环境影响受理公示.docx
- 济南中科核技术研究院工业CT生产、使用项目环评资料环境影响受理公示.docx
- 济源市尚恩环保科技有限公司太行煤矿废弃采坑资源化利用修复项目环评资料环境影响受理公示.docx
- 金属与非金属检测项目环评资料环境影响受理公示.docx
- 湖南复瑞生物医药技术有限责任公司年产5000吨饲料添加剂生产线扩建项目环评资料环境影响受理公示.docx
- 科欧瑞新材料技术公司新建汽车零部件项目环评资料环境影响受理公示.docx
- 济源市建筑垃圾绿色低碳资源化利用项目环评资料环境影响受理公示.docx
- 广告设计岗位招聘考试试卷及答案.doc
- T CISA 453-2024 钢铁行业 钢水化学成分智能分析系统技术要求.docx
- 12J10 附属建筑图集.docx
最近下载
- 高级模拟考试(7).docx VIP
- 病区环境清洁与消毒院感培训考试试题(附答案).docx VIP
- 质量控制计划表CP.xls VIP
- 25春河北开放大学《法律实务》形考1-4答案.docx
- 道路交通安全违法行为处理(下).docx VIP
- 润滑脂添加剂 - king industries, inc.pdf VIP
- 一种用于烟气换热器的可拆卸吊装系统.pdf VIP
- 狂刷17楞次定律-学易试题君之小题狂刷君2018-2019学年高二物理人教版选修3-2解析版.doc VIP
- 2025年人教版三年级上册道德与法治全册知识点(新教材).pdf
- 社会主义建设道路初步探索的理论成果问卷.docx VIP
原创力文档


文档评论(0)