第一章 对象导论 1.1抽象过程

来源:互联网 发布:淘宝卖家体检中心链接 编辑:程序博客网 时间:2024/06/11 03:58

所有的编程语言都提供抽象机制。可以认为,人们所能够理解的问题的复杂性直接取决于抽象的类型和质量
相比于之前的语言,Java语言是一种更灵活和更强有力的语言抽象。所以,OOP允许根据问题来描述问题,而不是根据运行方式解决方案的计算来描述问题。但是它还是和计算机有联系:每个对象看起来都有点像一台微型的计算机————它具有状态,还具有操作,用户可以要求对象执行这些操作。
1)万物皆对象:见对象视为奇特的变量,它可以存储数据,除此之外你还可以要求它在自身上执行操作,理论上讲,你可以抽取待求解的问题的任何概念化构件,将其表示为程序中的对象。
2)程序是对象的集合,它们通过发送消息来告知彼此所要做的:想要请求一个对象,就必须对该对象发送一条消息。
3)对每个对象都有自己的有其他对象多构成的存储:可以通过创建包含此案有对象的包的方式来创建新类型的对象。因此,可以在程序中构件复杂的体系吗,同时将其复杂性隐藏在对象的简单性的背后。
4)每个对象都拥有其类型:按照通用的说法,”每个对象都是某个class的一个instance“这里”class“就是指”类型“。每个类最重要的区别与其他类的特性就是”可以发送什么样的消息给它“。
5)某一特定的类型的所有对象都可以接受同样的消息:这种可替代性(substitutability)是OOP中最强有力的概念之一。
Booch对对象提出了一个更加简介的描述:对象具有状态、行为、和标识。这意味着每一对象都可以拥有内部数据(他给出了该对象的状态)和方法(它们的行为),并并且每一个对象都可以唯一的与其他对象区分开来,就是每一个对象在内存中都有一个唯一的地址。

1 0