1 )所有事物都是对象。 将对象视为奇异变量,除了保存数据外,还可以要求自己执行操作。 理论上,可以提取解决问题的概念化部件(狗、建筑物、服务等),并将其表示为程序中的对象。
2 )程序是通过发送消息来告知对方想做什么的对象的集合。 要请求对象,必须向该对象发送消息。 更具体地说,消息可以视为对特定对象的方法的调用请求。
3 )每个对象都有自己的存储,由其他对象组成。 也就是说,可以通过创建包含现有对象的包来创建新类型的对象。 因此,可以在对象的简单性背后构建复杂的体系。
4 )每个对象都有各自的类型。 一般而言,“每个对象是一个类的实例instance”,其中“类”与“类型”同义。 各级最重要的差异化特性是“能发送什么样的信息”。
5 )某一特定类型的所有对象都可以接收相同的消息。 这是意味深长的表现。 由于“圆形”类型对象是同一“几何”类型对象,因此“圆形”对象始终可以接收发送到“几何”对象的消息。 这意味着与“几何形”的交互可以编写自动处理所有被认为是几何形性质的东西的代码