数据抽象-Data Abstraction

当我们在某个问题领域中识别对象是,首先考虑的问题是可以用这个对象做什么,而不是这个对象是如何实现的。

  • 为类型选择一个描述性的名字。如果你难以为这个类型命名,就说明你还不知道你想要实现什么。
  • 列出类型所能执行的操作。初始化-构造函数,清理-析构函数,复制和转换。
  • 为类型设计接口。一个类型应做到易于正确使用,难以错误使用。
  • 实现类型。不要让实现影响类型的接口。