理论教育 计算机工程导论:面向对象程序设计

计算机工程导论:面向对象程序设计

时间:2023-11-24 理论教育 版权反馈
【摘要】:常见的面向对象程序设计语言包括C++、Java、Python等。面向对象的程序设计采用了以上人们所熟悉的这种思路。面向对象程序设计技术必须提供一种机制允许一个对象与另一个对象的交互。一个对象向另一个对象发出的请求称为“消息”。在面向对象程序设计中的消息传递实际是对现实世界中的信息传递的直接模拟。

计算机工程导论:面向对象程序设计

根据结构化程序设计方法设计出的程序易于阅读、理解和维护,同时还提高了编程的工作效率,降低了软件开发成本。面向对象是一种更优秀的程序设计方法,它基于结构化程序设计,使用结构化程序设计中的变量、表达式、函数等概念,同时引入了类、对象、继承、封装、消息等基本概念来进行程序设计。

不同于结构化程序设计强调功能行为,面向对象程序设计是从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以现实世界中的事物(即对象)为中心来思考问题、认识问题。常见的面向对象程序设计语言包括C++、Java、Python等。

1.对象

在现实世界中,任何事物都是对象。它可以是一个有形的具体存在的事物,例如一张桌子、一个学生、一辆汽车,甚至地球;也可以是一个无形的、抽象的事件,例如一次演出、一场球赛、一次出差等。对象既可以很简单,也可以很复杂,复杂的对象可以由若干简单的对象构成,整个世界可以认为是一个非常复杂的对象。

现实世界中的对象既具有静态的属性(或称状态),又具有动态的行为(或称操作、功能)。例如,一个坦克就是一个对象,每个坦克都有型号、重量、炮弹类型等属性,都有移动、开火、装弹等行为(功能)。

所以在现实世界中,对象一般可以表示为:属性+行为,一个对象往往是由一组属性和一组行为构成的。

面向对象的程序设计采用了以上人们所熟悉的这种思路。在面向对象程序设计中,对象是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体,每个对象都是由数据和操作代码(通常用函数来实现)两部分组成,如图3-5所示。

图3-5 对象

用数据来体现上面提到的“属性”,用函数作为操作代码来实现对数据的操作,以实现某些功能。

2.类

在现实世界中,“类”是一组具有相同属性行为的对象的抽象。例如,虽然张三、李四、王五每个人的性格、爱好、职业、特长等各有不同,但是他们的基本特征是相似的,都具有相同的生理构造,都能吃饭、说话、走路等,于是把他们统称为“人”类,而具体的每一个人是人类的一个实例,也就是一个对象。类和对象之间的关系是抽象和具体的关系。类是对多个对象进行综合抽象的结果,对象又是类的个体实物,一个对象是类的一个实例。

例如,学生小明是一个对象(见表3-1)。

表3-1 对象

(www.daowen.com)

一个个像小明这样的学生构成学生类。

将属性、操作相似的对象归为类。也就是说,类是具有共同属性、共同方法的对象的集合。类是对象的抽象,它描述了该对象类型的所有对象的性质,而一个对象则是其对应类的一个实例。

3.消息和方法

现实世界中的对象不是孤立存在的实体,它们之间存在着各种各样的联系,正是它们之间的相互作用、联系和连接,才构成了世界各种不同的系统。

面向对象程序设计技术必须提供一种机制允许一个对象与另一个对象的交互。这种机制叫消息传递。一个对象向另一个对象发出的请求称为“消息”。当对象接收到发向它的消息时,就调用有关的方法执行相应的操作。例如,有一个士兵对象张三和一个坦克对象坦克1号,对象张三可以发出消息,请求对象坦克1号发射一枚炮弹,当对象坦克1号接收到这个消息后,确定应完成的操作并执行。

在面向对象程序设计中的消息传递实际是对现实世界中的信息传递的直接模拟。调用对象中的函数(也称方法)就是向该对象传送一个消息,要求该对象实现某一行为(功能、操作)。

Java语言是高级语言的代表之一,在Java语言中创建一个类并使用可以像下面这样:

上面定义了一个Animal类,它包含一个成员变量name和一个成员方法eat,类使属性和方法结合在一起。接下来我们可以使用Animal类实例化一个对象animal 1:

Animal animal 1=new Animal();

然后使用这个animal 1对象,给他的名字赋值,并调用eat方法:

animal 1.name=“JOJO”;

animal 1.eat();

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈