对于这5个特性,感觉每条都知道。但是没有一个完整、系统的认识。
Alan Kay总结了5个Smalltalk的基本特性,Smalltalk是第一个面向对象的语言,java也是基于它的基础。这些特性代表了纯粹的面向对象编程。
1.Everything is an object. 任何事物都是对象。
2.A program is a bunch of objects telling each other what to do by sending messages.程序由一系列的对象组合,它们通过发送消息告诉彼此做什么。
3.Each object has its own memory made up of other objects.每个对象可以有自己的内存空间包含其他对象。
4.Every object has a type. 每一个对象都有类型。
5.All objects of a particular type can receive the same messages.一个特定类型的所有对象都可以接受同样的消息。
Booch提出了一个更加简洁的对象描述:
An object has state,behavior and identity. 每个对象都有状态(属性)、行为(方法)和唯一的内存地址。