代码大全学习笔记5
第六章
6.4 创建类的原因
- 为现实世界中的对象建模;
- 为抽象的对象建模;
- 降低复杂度:类隐藏一些细节,你能在无须了解其内部工作原理的情况下使用这个类;
- 隔离复杂度;
- 隐藏实现细节;
- 限制变动的影响范围;
- 隐藏全局数据;
- 让参数传递更顺畅:如果多个子程序都用一个参数,那么这个参数就可以作为类的成员变量;
- 建立中心控制点:与信息隐藏有些类似;
- 让代码更易于重用;
- 为程序族做计划:你可以把预计要被改动的部分放到单独的类里,同其他部分分隔开;
- 把相关操作包装到一起;
- 实现某种特定的重构:详见第24章“重构”;
应该避免的类
- 避免创建万能类:类是对特定对象的抽象;
- 消除无关紧要的类:如果一个类只包含数据单不包含行为的话,应该问问自己,它真的是一个类吗?
- 避免用动词命名的类:只有行为没有数据的类往往不是一个真正的类;
6.5 与具体编程语言相关的问题
——在c++中,默认是不可以覆盖方法的,基类的方法只有被定义为virtual才能被覆盖;
6.6 超越类:包
要点
- 类的接口赢提供一致的抽象。
- 类的接口应该隐藏一些信息。
- 包含往往比继承更为可取。
- 继承是一种有用的工具,但它的使用增加了程序的复杂度,所以应谨慎使用。
- 类是管理复杂度的首选工具。