- 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了 派生类和基类的构造函数析构函数调用次序, 重点 通过这个例子强化派生类基类构造函数析构函数声明定义规则和执行顺序 重点理解多重继承带来的钻石问题:基类成员通过两条不同途径继承到派生类,在派生类中就会有两个基类成员的拷贝,从而造成二义性问题。所以在类的设计过程中尽量避免这种问题的产生。 被屏蔽的基类成员函数可通过类名+作用域标识符(::)来访问。 多重继承存在的意义,往往是功能的叠加,但要注意钻石问题。 指出课本关于作用域操作符使用的错误。 多态的概念 虚函数的语法,基类中的虚函数在派生类中的虚函数特性 例子,通过基类指针触发实现多态特性,并解释为什么需要虚函数,虚函数功能 强调虚函数定义的语法, 函数的三要素要完全一致,否则是重载,构成同名覆盖。 虚函数返回类型如果是类类型指针或引用,可以构成多态 举例子强调上述注意 必须搞懂触发多态的两个要点,缺一不可 课本例子 什么样的成员函数可以声明为虚函数 举例说明基类的析构函数声明为虚函数的必要性 纯虚函数存在的意义 它用于这样的情况:定义一个基类时,会遇到无法定义基类中虚函数的具体实现,其实现依赖于不同的派生类 含有纯虚函数的基类是不能用来定义对象的。纯虚函数没有实现部分,不能产生对象,所以含有纯虚函数的类是抽象类。 定义纯虚函数需要注意的地方 例
您可能关注的文档
- 境外上公司以往我国企业多采取直接收购的模式.DOC
- 境外信托产业剖析与探究-ManivestOriginatedinAsiaBasedin.PDF
- 增值税纳税申报表的填列-济南国家税务局.PPT
- 增减金额相等.PPT
- 增值系统操作指引-网上政务大厅.DOC
- 增强型-德州仪器.PDF
- 增强学习内容的逻辑性和高效性信息信息社会信息处理第二.PPT
- 增量调制编译码试验报告电子科技大学.doc
- 墨尔本威斯汀酒店.PDF
- 墨之韵2015年赫大孔院坦佩雷大学教学点中国传统书画体验活动.PDF
- 2025温州瓯海科技产业发展集团有限公司下属子公司温州科兴生命健康产业发展有限公司面向社会招聘工作人员5人考试参考题库及答案解析.docx
- 2026年工商企业管理专业答辩:小微企业运营优化与可持续发展.pptx
- (58页PPT)走进人伤理赔(1).ppt
- 护理技能培训与提升.ppt
- 2025湖南益阳大通湖区法院招聘聘用制司法警务辅助人员考试备考试题及答案解析.docx
- (57页PPT)复习任务群3 专题6 分点突破1 鉴赏诗歌的形象.pptx
- 数字鸿沟下老年人社会参与困境与社会支持路径研究毕业答辩汇报.pptx
- 护理技术革新与未来发展.ppt
- 2025温州瓯海科技产业发展集团有限公司下属子公司温州科兴生命健康产业发展有限公司面向社会招聘工作人员5人笔试参考题库附答案解析.docx
- 2025重庆万州区第一人民医院招聘2人考试备考试题及答案解析.docx
最近下载
- 幼儿园中秋节活动方案.ppt VIP
- 河南2025年职业病诊断医师资格考试(职业性尘肺病及其他呼吸系统疾病)模拟练习题及答案.docx VIP
- 河南2025年职业病诊断医师资格考试(职业性尘肺病及其他呼吸系统疾病)模拟练习题及答案.docx VIP
- 05SK604 民用建筑工程设计常见问题分析及图示(暖通空调及动力专业)_已解除密码_9270.docx VIP
- 项目5 0-3岁婴幼儿社会性发展观察、记录与评价《婴幼儿行为观察与记录》教学课件.pptx VIP
- TBT454.1-2021 铁路通信信号词汇 第1部分:铁路信号词汇.pdf VIP
- 04S531-3湿陷性黄土地区给水排水检漏井.pptx
- CPA第七章资产减值相关习题及解析20题.docx VIP
- 幼儿园小班中秋节.ppt VIP
- 数电实验四触发器参数与功能测试(精).pdf VIP
原创力文档


文档评论(0)