对象和数据结构
6.1 对象 把数据隐藏于抽象之后,曝露操作数据的函数。比如,一个仅仅提供了面积计算函数的形状类。
6.2 数据结构 曝露其数据,没有提供有意义的函数。比如,一个仅仅提供了属性的取值器和赋值器的形状类。
6.3 过程式代码 (使用数据结构的代码)便于在不改动既有数据结构的前提下添加新函数;面向对象代码 便于在不改动既有函数的前提下添加新类。
6.4 得墨忒尔律 :模块不应该了解它所操作对象的内部情形。即使用面向对象代码。可以理解为,类C的方法f只应该调用以下对象的方法:
C;
由f创建的对象;
作为参数传递给f的对象;
由C的实体变量持有的对象。
方法不应调用由任何函数返回的对象的方法。