java对象导论之抽象过程
简单的讲,抽象指在一些事物中选取其共有的特征,摒弃每个事物独有的特点,抽取成众多事物所属的一个基础事物的过程。
所有编程语言都提供抽象机制,解决问题的难易程度可以取决于抽象中,抽象成了一个怎样的基础事物。
换句话讲,抽象也可以指我们从业务中的元素如何表示在程序中的过程。这种思想的实质就是程序可以通过添加新类型的对象使自己可以解决某种特定的问题。
纯粹OOP的特性:
-
1、万物皆为对象
理论上讲,任何事物都可以类比成有特性和行为的对象。例如人的特性:性别有男/女,行为:可以吃饭睡觉打豆豆。
-
2、程序是对象的集合,它们通过发送消息来告知彼此所要做的
可以把中间的消息理解为方法的调用。
-
3、每个对象都有自己的由其他对象所构成的存储
可以简单理解为,拿其他新建类型的对象充当自己的属性。
-
4、每个对象都拥有其类型
每个对象都是某个class的实例。
-
5、某一特定类型的所有对象都可以接收同样的消息
举例:“圆形”类型的对象同时也是“几何形”类型的对象,所以一个“圆形”对象必定能收到发给“几何形”对象的消息。这就意味着可以编写与“几何形”交互并自动处理所有与“几何形”性质相关的事物的代码。
Booch提出:对象具有状态,行为和标识。状态:拥有的内部数据,行为:方法,标识:就是每个对象在内存中都有一个唯一的地址。