所有东西都是对象
对象可以想象成一种新型变量,保存着数据,可对自身
进行操作, 可从要解决的问题身上提出所有概念性的组件, 然后在程序中将其表
达为一个对象
程序是一大堆对象的组合
通过消息传递, 各对象知道自己该做些什么;
为了向对象发出请求, 需向那个对象“发送一条消息”。
更具体地讲, 可将消息想象为一个调用请求, 它
调用的是从属于目标对象的一个子例程或函数。
每个对象都有自己的存储空间
** 可容纳其他对象**,通过封装现有对象, 可制作
出新型对象,每个对象都有一种类型,** 每个对象都是某个“类” 的一个“实例”**, 其中,“类”
(Class) 是“类型”(Type) 的同义词。 一个类最重要的特征就是“能将什么消息发给它?
同一类所有对象都能接收相同的消息
由于类型为“圆”(Circle) 的一个对象也属于类型为“形状”(Shape) 的一个对象, 所
以一个圆完全能接收形状消息。 这意味着可让程序代码统一指挥“形状”, 令其自动控制所
有符合“形状” 描述的对象, 其中自然包括“圆”。
这一特性称为对象的“可替换性”, 是
OOP 最重要的概念之一。