1.对象
从一般意义上讲,对象是现实世界中一个实际存在的事物,它可以是有形的(比如一辆汽车),
也可以是无形的(比如一项计划)。对象是构成世界的一个独立单位,它具有自己的属性和行为(或
功能)。
面向对象程序设计方法中的对象,是系统中用来描述客观事物的一个实体,它是用来构成系
统的一个基本单位。对象由一组属性和一组行为构成。
2.类
把众多的事物归纳、划分成一些类,是人类在认识客观世界时经常采用的思维方法。分类所
依据的原则是抽象,即忽略事物的非本质特征,只注意那些与当前目标有关的本质特征,从而找
出事物的共性,把具有共同性质的事物划分为一类,得出一个抽象的概念。例如,石头、树木、
汽车、房屋等都是人们在长期的生产和生活实践中抽象出的概念。
面向对象程序设计方法中的“类”,是具有相同属性和服务的一组对象的集合。它为属于该
类的全部对象提供了抽象的描述,其内部包括属性和行为两个主要部分。类与对象的关系犹如模
具与铸件之间的关系,一个属于某类的对象称为该类的一个实例。
3.封装
封装是面向对象程序设计方法的一个重要原则,就是把对象的属性和服务结合成一个独立的
系统单位,并尽可能隐蔽对象的内部细节。这里有两个含义:第一个含义是把对象的全部属性和
全部服务结合在一起,形成一个不可分割的独立单位,第二个含义也称作“信息隐蔽”,即尽可
能隐蔽对象的内部细节,对外形成一个边界(或者说一道屏障),只保留有限的对外接口使之与外
部发生联系。
4.继承
继承是面向对象程序设计方法能够提高软件开发效率的重要原因之一,其定义是:特殊类的
对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。
继承具有重要的实际意义,它简化了人们对事物的认识和描述。比如我们认识了轮船的特征
之后,再考虑客轮时,因为知道客轮也是轮船,于是可以认为它理所当然地具有轮船的全部一般
特征,从而只需要把精力用于发现和描述客轮独有的那些特征。
继承对于软件复用有着重要意义,使特殊类继承一般类,本身就是软件复用。不仅于此,如
果将开发好的类作为构件放到构件库中,在开发新系统时便可以直接使用或继承使用。
5.多态性
多态性是指在一般类中定义的功能或行为,被特殊类继承之后,可以具有不同的具体实现。
这使得同一个属性或行为在一般类及其各个特殊类中具有不同的语义。例如,可以定义一个一般
类“几何图形”,它具有“绘图”行为,但这个行为并不具有具体含义,也就是说并不确定执行
时到底画一个什么样的图(因为此时尚不知道“几何图形”到底是一个什么图形,“绘图”行为
当然也就无从实现)。然后再定义一些特殊类,如“椭圆”和“多边形”,它们都继承一般类
“几何图形”,因此也就自动具有了“绘图”行为。接下来,可以在特殊类中根据具体需要重新
定义“绘图”,使之分别实现画椭圆和多边形的功能。进而,还可以定义“矩形”类继承“多边
形”类,在其中使“绘图”实现绘制矩形的功能。这就是面向对象方法中的多态性。