effectivec++6.继承与面向对象设计

author author     2022-08-01     341

关键词:

//条款32:确定你的public继承塑模出is-a关系
//    1.public继承意味着is-a的关系,适用在基类上的方法都能用于派生类上。

//条款33:避免遮掩继承而来的名称
//    1.在public继承体系中,派生类和基类的关系是is-a的关系,所以派生类中不应该隐藏基类的非虚函数。
//    2.为了在派生类中重载基类的非虚函数,可以使用using声明式,或者在派生类的函数中显示调用基类的非虚函数。

//条款34:区分接口继承和实现继承
//    1.接口继承与实现继承不同。在public继承体系下,派生类总是继承基类的接口。
//    2.纯虚函数只具体指定接口继承。
//    3.一般的虚函数具体指定接口继承和缺省实现继承。
//    4.非虚函数具体指定接口继承以及强制性实现继承。(由条款33可知,在public继承中,不要在派生类中隐藏基类的非虚函数)

//条款38:通过复合塑模出has-a或根据某物实现出

//条款39:明智而慎用地使用private继承
//    1.当面对并不存在is-a的关系的两个类的时候,其中一个类需要访问另一个类的protected成员,或者需要重新定义虚函数的时候,private继承极可能成为正统的设计策略。
//    2.对于一个空的类,编译器一般会将一个char插入其内存中。当一个类私有继承一个空类的时候,此类又有别的数据成员的时候,空类的char并不会占用派生类的空间。

 

面向对象的程序设计

...之间的交互3.4类名称空间与对象/实例名称空间3.5小结四继承与派生4.1什么是继承4.2继承与抽象(先抽象再继承)4.3继承与重用性4.4组合与重用性4.5接口与归一化设计4.6抽象类4.7继承实现的原理(继承顺序)4.8子类中调用父类方... 查看详情

第十篇面向对象的程序设计

...之间的交互3.5类名称空间与对象/实例名称空间3.6小结四继承与派生4.1什么是继承4.2继承与抽象(先抽象再继承)4.3继承与重用性4.4组合与重用性4.5接口与归一化设计4.6抽象类4.7继承实现的原理(继承顺序)4.8子类中调用父类方... 查看详情

201771010106东文财《面向对象程序设计(java)》实验6

实验六继承定义与使用实验时间2018-9-28一.知识总结1、继承的概述:在多个类中存在相同的属性和行为,把这些相同的部分抽取到一个单独的类中,把这个单独的类叫作父类,也叫基类或者超类,把其他被抽取的类叫作子类,并... 查看详情

面向对象设计时的若干考虑

...避免遮掩继承而来的名称[参考资料][1]ScottMeyers著,侯捷译.EffectiveC++中文版:改善程序技术与设计思维的55个有效做法[M].电子工业出版社,2011.(条款32:确定你的public继承塑模出is-a关系;条款33:避免遮掩继承而来的... 查看详情

面向对象与继承

print(‘面向对象‘)‘‘‘今日内容:1,继承2,多态3,封装4,绑定方法和非绑定方法classmethodstaticmethod5,面向对象高级反射一些内置方法__str____del__6,元类(看视频)这个是属于面向对象底层的知识点,可能会打破你之前对于面向对象的知识... 查看详情

第六章面向对象的程序设计(3继承)

6.3继承许多OO语言都支持两种继承方式:接口继承和实现继承。接口继承只继承方法签名,而实现继承则继承实际的方法。如前所述,由于函数没有签名,在ECMAScript中无法实现接口继承。ECMAScript只支持实现继承,而且其实现继... 查看详情

06_继承与派生

一:继承的概念  面向对象程序设计有4个主要特点:抽象、封装、继承和多态性。我们已经讲解了类和对象,了解了面向对象程序设计的两个重要特征一数据抽象与封装,已经能够设计出基于对象的程序,这是面向对象程序... 查看详情

设计模式与面向对象

面向对象基础抽象封装继承多态组合良好的OO设计可复用可扩充可维护设计模式 查看详情

201823312019-2020-1《数据结构与面向对象程序设计》第6周学习总结

...定义方法。4.在Java中,可以用两种方式建立多态性引用:继承方式和接口方式。由继承实现多态性:1.一个引用变量可以指向有继承关系的任何类的任何对象。2.一个object引用可以指向任何对象,因为所有类归根结底都是object类... 查看详情

常惠琢201771010102《面向对象程序设计(java)》第七周学习总结

实验七继承附加实验实验时间2018-10-111、实验目的与要求(1)进一步理解4个成员访问权限修饰符的用途; (2)掌握Object类的常用API用法;(3)掌握ArrayList类用法与常用API;(4)掌握枚举类使用方法;(5)结合本章知识,... 查看详情

继承与多态

...类型时不至于重写设计或改写太多既有代码。众所周知,继承是面向对象程序设计三大基本特性(封装、继承、多态)之一,充分理解继承的原理机制,对于书写高质量的程序至关重要。 面向对象程序设计显著特点就是尽量... 查看详情

面向对象封装与继承

面向对象:  (1)面向过程强调过程,执行者:它是一种更符合人们思考习惯的思想;  (2)面向对象强调对象,指挥者:它使复杂的内容简单化;  (3)面向对象思想的特点:它使我们从执行者变成了指挥; ... 查看详情

继承和面向对象设计

继承与面向对象设计32.确定你的public继承塑模出is-a关系"public继承"意味is-a.适用于baseclasses身上的每一件事情一定也适用于derivedclasses身上,因为每一个derivedclass对象也都是一个baseclass对象33.避免遮掩继承而来的名称derivedclasses内... 查看详情

狄慧201771010104《面向对象程序设计(java)》第七周学习总结(代码片段)

实验七继承附加实验实验时间2018-10-11一、实验目的与要求(1)进一步理解4个成员访问权限修饰符的用途;(2)掌握Object类的常用API用法;(3)掌握ArrayList类用法与常用API;(4)掌握枚举类使用方法;(5)结合本章知识,理... 查看详情

java面向对象与设计模式

...开闭原则(O):总的指导思想里氏替换原则(L):用于指导类继承的设计接口隔离原则(I):用于指导接口的设计依赖翻转原则(D):用于指导如何抽象类之间的关系:继承=实现>组合>聚合>关联>依赖UML表现:继承:带三角箭头... 查看详情

设计原则与思想:面向对象

...的?接口vs抽象类的区别?为何说要多用组合少用继承?如何决定该用组合还是继承?如何做面向对象分析和面向对象设计?如何评价代码质量的高低?灵活性& 查看详情

《面向对象程序设计(java)》第七周学习总结(代码片段)

...I;(4)掌握枚举类使用方法;(5)结合本章知识,理解继承与多态性两个面向对象程序设计特征,并体会其优点;(6)熟练掌握Java语言中基于类、继承技术构造程序的语法知识(ch1-ch5);(7)利用已掌握Java语言程序设计知... 查看详情

类的继承与组合(代码片段)

类的继承与组合对象(Object)是类(Class)的一个实例(Instance)。如果将对象比作房子,那么类就是房子的设计图纸。所以面向对象设计的重点是类的设计,而不是对象的设计。对于C++程序而言,设计孤立的类是比较容易的,... 查看详情