类之间常见关系
来源:互联网 发布:电脑主机淘宝 编辑:程序博客网 时间:2024/06/05 09:38
1.使公有继承体现 “是一个” 的含义
记住一句话:公有继承意味着 “是一个” 的含义!
class Person { … };
class Student: public Person { … };
每个学生是一个人,但并非每个人是学生。
void dance(const Person& p); // 任何人可以跳舞
void study(const Student& s); // 只有学生才学习
Person p; // p是一个人
Student s; // s是一个学生
dance(p); // 正确,p是一个人
dance(s); // 正确,s是一个学生,一个学生”是一个”人
study(s); // 正确
study(p); // 错误! p不是学生
只是公有继承才会这样。也就是说,只是Student公有继承于Person时,C++的行为才会像所描述的那样。私有继承则是完全另外一回事,至于保护继承,好象没有人知道它是什么含义。
类之间常见的另两个关系是 “有一个” 和 “用…来实现”。
2.通过分层来体现 “有一个” 或 “用…来实现”
使某个类的对象成为另一个类的数据成员,从而实现将一个类构筑在另一个类之上,这一过程称为 “分层”。”分层” 这一术语有很多同义词,它也常被称为:构成(composition),包含(containment)或嵌入(embedding)。
公有继承的含义是 “是一个”。对应地,分层的含义是 “有一个” 或 “用…来实现”。
- 类之间常见关系
- 常见web技术之间的关系
- 常见Web技术之间的关系
- 常见Web技术之间的关系!!
- AE常见接口之间的关系+常见概念
- AE常见接口之间的关系+arcgis常见概念
- 类之间的关系
- 类之间的关系
- 类之间的关系
- 类之间的关系
- 类之间的关系
- 类之间的关系
- 类之间的关系
- 类之间的关系
- 类之间的关系
- 类之间的关系
- 类之间的关系
- 类之间的关系
- html定义input type=file 样式的方法
- 【Spring 基础篇四】annotation+aspectj实现AOP
- Centos 使用YUM安装MariaDB
- Debug Assertion Failed错误如何消除
- Android Studio插件Gsonformat使用
- 类之间常见关系
- Java日志记录的5条规则
- Fab 和 Dialog 之间的过渡效果
- OpenCV基础几何绘图和文字输出
- Mat工具规范
- 为什么我在eclipse中新建一个java web项目的时候多出了几个文件(Jax-Ws-Web Services 等等)我
- asp.net 状态管理方案总结
- python 字符串处理
- java中如何把小数转化成百分数