▶5.1.2.1 面向过程与面向对象
面向过程(Procedure Oriented)就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候依次调用相应函数。
面向对象(Object Oriented)是把构成问题的事物分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为。
▶5.1.2.2 对象
对象是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现,它是由描述该对象的数据以及可以对这些数据施加的所有操作封装在一起构成的统一体。
对象名:区别于其他对象的标志。
对象属性:表示对象所处的状态。
对象操作:用来改变对象的状态从而达到特定的功能。
提醒:实体是客观世界中存在的且可相互区分的事物,可以是人也可以是物,可以是具体事物也可是抽象事物。职工、学生、课程、教师、部门等都是实体,它既有静态的属性,又具有动态的行为。
▶5.1.2.3 类
类是对具有相同属性和行为的一个或多个对象的描述,是一种抽象的数据类型,是具有一定共性的对象的抽象。
提醒:实例是由某个特定的类所描述的一个具体的对象。类是建立对象时使用的“模板”,按照这个样板建立的一个个具体的对象,就是类的一个实际的例子。(www.xing528.com)
举例说明:屏幕上有3个大小、颜色、位置各异的圆,可以对它们进行的操作有显示、放大或缩小半径、移动位置等。
▶5.1.2.4 消息
消息机制是对象之间进行通信的一种机制,以实现对象之间的相互通信。消息是指一个对象为执行某项特定操作而向另一个对象发送的请求。
▶5.1.2.5 实体、对象、类之间的关系
实体、对象、类存在于不同的世界。通常现实世界中的实体通过大脑的思维后可形成概念世界的抽象数据类,将此抽象数据类用面向对象的语言(如Java)描述,即可转换成计算机世界中的类,从而完成类到对象的实例化过程,最终完成现实世界中的实体与计算机中的对象之间的映射关系。实体、对象、类在三个世界中的转换(见图5-1)。
图5-1 实体、对象、类在三个世界的转换
▶5.1.2.6 关联和链
现实世界的各个对象往往不是彼此孤立的,而是存在着某些联系。类用来描述和创建对象,那么具体对象之间的关系可以进一步抽象为类之间的关系。关联描述了类之间的静态联系。
关联具有一定的属性,如关联的名称、关联的方向和多重性等。可以给关联命名,关联的名称有助于理解类之间的关系。例如“学生”类和“图书”类之间存在着关联“借阅”,关联的名称是“借阅”,表明学生和图书之间是一种借阅关系,而不是拥有关系、预约关系等。关联可以有方向,关联的方向包括单向和双向,学生和图书之间的“借阅”关联就是一种单向的关联,而丈夫和妻子之间就有一种双向的关联——“is married to”。有时,光知道学生能借阅图书是不够的,还应该知道一个学生同时最多能借阅多少本图书,以及一本图书同时能被几个学生借阅。关联的多重性表示这种“多少”的概念,指有多少个对象与另外一个对象具有这种关联关系。
链是关联的实例,用于描述具体对象之间的某种联系。在实例化后,由类产生对象,由关联产生连接对象的链。对象之间的链可以通过对象的属性表达出来。例如,用类“学生”的对象的属性来记录该对象具有借阅的“图书”对象。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。