background image

Java 语言程序设计教程

第第

发展,不能满足应用的要求,需要有新的软件开发过程模型和新的方法论。基于这些原因,
人们在综合以往软件开发中的各种概念和方法的基础上,采取了基于客观世界的对象模
型的软件开发方法。

面向对象的软件开发方法按问题论域来设计模块,以对象代表问题解的中心环节,

力求符合人们日常的思维习惯,采用 对象+

消息 的程序设计模式,降低或分解问题的难

度和复杂性,从而以较小的代价和较高的收益获得较满意的效果,满足软件工程发展需
要。面向对象开发方法的出现和广泛应用是计算机软件技术发展的一个重要变革和飞跃。
面向对象技术能够更好地适应当今软件开发在规模、复杂性、可靠性和质量、效率上的种种
要求,因而被越来越多地推广和使用,其方法本身也在诸多实践的检验和磨练中日趋成
熟、标准化和体系化,逐渐成为目前公认的主流软件开发方法。

1.2   面向对象的基本概念

1.2.1  对象、类和消息

面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机中的映射和体

现。它既包括属性(描述对象的特征,可以是数据或对象,在 Java 语言中称之为变量),
也包括作用于属性的操作(是对象执行的动作,可以是对象作出的或施加给对象的,在
Java 语言中称之为方法)。对象是由属性和操作所构成的一个封闭整体。比如,小汽车是
现实世界中的一个具体的物理实体,它拥有颜色、车门以及行驶速度等外部特性,具有刹

车、加速和减速等内在功能。这样的实体,在面向对象的程序中,就可视为一个 基本程序

模块 ,可以表达成一个计算机可理解的、可操作的具有一定属性和操作的对象,通过数
据结构和提供相应操作来实现。如:

属性用:int color;int door;int speed 等变量来表示。
操作用:void brake{……};

void speedUp{……};
void speedDown{……}等方法表示。

对象在计算机内存中的映像称为实例。对象之间可能存在包含、关联和继承三种关系。

包含关系是指整体与部分之间的关系,当对象 X 是对象 Y 的属性时,称对象 Y 包含对象
X。如汽车与轮胎的关系就是一个包含关系。我们知道每辆汽车都对应一个生产厂商,如果
把生产厂商抽象成对象,则汽车对象可以或应该记录自己的生产厂商是哪个。这种通过一
个对象可以找到另一个对象的关系称为关联关系。在面向对象的 Java 语言中,把可以找到
另一个对象的线索称为引用。因此当对象 X 的引用是对象 Y 的属性时,称对象 X 和对象 Y
之间是关联关系。继承关系我们将在下面做详细介绍。

类是面向对象技术中一个非常重要的概念,它是描述对象的 基本原型 ,是描述性

的类别或模板,即对一组对象的抽象。它定义一组对象所能拥有的共同特征(属性和能完
成的操作),用以说明该组对象的能力与性质。在面向对象的程序设计中,类是程序的基
本单元,对象是类的实例。如定义 Car 是一个小汽车类,它描述了所有小汽车的性质(包
括小汽车的颜色、车门数、速度等)及基于属性的各种操作(刹车、加速以及减速等操作功

2