Thinking in Java

阅读《Thinking in Java》后记录的一些笔记


一、对象导论

1.1 抽象过程

  1. 所有编程语言都提供抽象机制
  2. 程序员必须建立起在机器模型和实际待解问题模型之间的关联
  3. OOP允许根据问题来描述问题,而不是根据运行解决方案的计算机来描述问题。
  4. Alan Kay总结了SmallTalk的五个基本特性:
    1. 万物皆为对象
    2. 程序是对象的集合,它们通过发送消息来告知彼此所要做的。
    3. 每个对象都有自己的由其他对象所构成的存储
    4. 每个对象都拥有其类型
    5. 某一特定类型的所有对象都可以接收同样的消息
  5. 可替代性是OOP中最强有力的概念之一
  6. 对象具有状态、行为和标识
  7. 每一个对象在内存中都有一个唯一的地址