跳跃着读,看不懂的先不看
第一章 对象导论
1.1 抽象过程
1) 万物皆为对象
2)程序是对象的集合,它们通过发送消息来告知彼此所要做的
3)每个对象都有自己的由其他对象所构成的存储
4)每个对象都拥有其类型
5)某一特定类型的所有对象都可以接收同样的消息
可替代性
1.2 每个对象都有一个接口
1.3 每个对象都提供服务
高内聚
1.4 被隐藏的具体实现
1.5 复用具体实现
新的类可以由任意数量、任意类型的其他对象以任意可以实现新的类中想要的功能的方式所组成。
1.6 继承
源类发生变动,被修改的副本也会反映出这些变动
源类指的是基类、超类、父类
副本指的是导出类、继承类或子类
垃圾回收机,它用来归类散落的垃圾
经典的几何形例子
通过继承而产生的类型等价性是理解面向对象程序设计方法内涵的重要门槛
两种方法使基类和导出类产生差异
方法1:直接在导出类中添加新方法;方法2:在导出类中重新定义(重写、覆盖)基类的方法
重写方法是之前方法的定义不存在了,重载是方法名一样,参数名称、个数、类型不一样,但是之前的方法逻辑仍然保留存在。比如类的多种构造函数
1.6.1 "是一个"与"像是一个"关系
1.7 伴随多态的可互换对象
很深奥,不懂
1.8 单根继承结构
在java中所有的类最终都继承自单一的基类,这个终极基类的名字就是Object
单根继承结构保证所有对象都具备某些功能。
1.9 容器
1.9.1 参数化类型
1.10 对象的创建和生命期
动态方式有这样一个一般性的逻辑假设:对象趋向于变得复杂,所以查找和释放存储空间的开销不会对对象的创建造成重大冲击。