Effective C++ 第三十二条 Make sure public inheritance models “is-a”.
2023-02-03 04:01:03 来源:哔哩哔哩
【资料图】
确定你的 public 继承塑膜出 is-a 关系
先说清楚什么是 “is-a”,如下方例子
person 是一个 base,student 是 person 的一个 derived。如果现在有几个函数
eat 函数放入 person 还是 student 都可以,但是 exam 函数放入 person 就会报错,因为 student 本身也是 person,但是 person 不一定是 student。C++ 中 base 好比一种类别,derived 就是一种特例。人是一个宽泛的概念,人里面有学生、律师、工人等,而学生、律师等就是人的细化(分类)。base 不一定是 derived,但是 derived 一定是 base。凡是放入 base 作为参数的位置都可以放入 derived,反之则不行。
需要注意,本章说的 is-a 关系是 public inheritance,不包括 protected 和 private。
总结:
public “继承” 意味着 is-a,适用于 base classes 身上的每一件事情一定也适用于 derived classes 身上,因为每一个 derived classes 对象也都是一个 base classes 对象。
标签: 不一定是
相关热词搜索:不一定是
[责任编辑:]
相关阅读
- (2023-02-03)3dmark是什么 环球速讯
- (2023-02-02)【全球报资讯】4连胜,雷霆残阵反倒不摆烂了?绿军篮网费城都是手下败将?
- (2023-02-02)cr可以用vr材质吗_cr材质转vr材质
- (2023-02-02)研究人员发现肠道中的花生过敏机制 当前热门
- (2023-02-02)焦点速递!三十而已一共多少集_关于三十而已一共多少集的基本情况说明介绍
- (2023-02-02)前配偶擅自将房屋低价出售他人,法院判决:合同无效!
- (2023-02-02)当前视讯!车万赏析记录-2.2