1.8 多态使对象可替换

    1.8.1 当处理类型层次的时候,我们通常把对象看做是一种抽象类型,这样写代码的时候就不需要考虑具体的对象类型,这样的代码可扩展性就比较好

    1.8.2 在非面向对象编程中,编译器在编译的时候就对需要执行的函数进行早期的绑定,运行的时候就可以解析需要执行函数的绝对地址,而在面向对象编程中,使用的是延迟绑定,这样需要执行的函数只有在运行的时候才能真正的决定,当你发送一个消息给一个对象时,需要执行的函数只有在运行的时候才能确定,这就是面向对象中的延迟绑定,也叫作动态绑定。

1.9 所有的类都应继承自唯一的基类

    1.9.1 在单一的继承中所有的对象都有相同的接口

    1.9.2 在单一的继承中所有的对象都可以保证有相似的功能

    1.9.3 在单一的继承中实现垃圾回收更容易,这就是Java相对于C++的优势

1.10 容器

    1.10.1 通常情况下,你不知道解决一个问题需要多少对象,它们的生存周期多长,如何存储它们,并且不知道创建它们需要多少的空间,这个时候就可以使用容器,在C++中叫做标准模板库(STL)。

    1.10.2 容器提供了不同类型的接口和外部方法

    1.10.3 不同容器对于相同的操作有不同的执行效率