好文档 - 专业文书写作范文服务资料分享网站

全国计算机等级考试《数据库工程师(四级)》核心讲义(面向对象的基本概念与UML)【圣才出品】

天下 分享 时间: 加入收藏 我要投稿 点赞

www.100xuexi.com 圣才电子书 十万种考研考证电子书、题库视频学习平台

第2章 面向对象的基本概念与UML

一、面向对象系统的基本概念

面向对象(Object—Oriented,OO)方法以客观世界中的实体为中心,其分析和设计思想符合人们的思维方式,分析和设计的结果与客观世界的实际比较接近。

1.面向对象系统的概念 (1)定义

面向对象=对象+类+继承+消息通信。如果一个系统是使用这样4个概念设计和实现的,则可认为这个系统是面向对象的。一个面向对象的程序系统的每一个组成部分应是对象,计算是通过新的对象的建立和对象之间的通信来执行的。

(2)特点

①系统的定义从问题领域的实体出发,与人类习惯的思维方式一致。 ②搭建的系统结构稳定性好,修改可以局部化。 ③系统及体系结构可以使用构件组装,可复用性好。

④软件系统容易理解,容易修改,容易测试,适合于开发大型的软件产品。 ⑤软件体系结构严格按照信息(细节)隐蔽的原则设计,产品可维护性好。 2.对象 (1)对象的定义

对象(Object)是系统中用来描述客观事物的实体,是构成系统的基本单位。每个对

1 / 25

www.100xuexi.com 圣才电子书 十万种考研考证电子书、题库视频学习平台 象可用它的名字、对象本身的一组属性和可以执行的一组操作来定义。如图2-1所示给出了对象的表示方法。对象名有下列3种表示格式:

①有名对象。形如:对象名:类名。 ②无名对象。形如:类名。

③默认类型对象。形如:对象名。这种格式不带类名,对象的类由其上下文决定。如图2-1所示的对象名采用的即是此格式。

图2-1 对象的图形表示

(2)对象两个层次的概念

①在系统模型中对象指的是系统模型所涉及的实体。可以是有形对象;也可以是抽象的逻辑对象。

②程序中的对象是一组变量和相关操作(或方法)的集合,其中变量表明对象的状态,操作表明对象所具有的行为。

(3)对象的分类

可以将系统中的对象分为5类:物理对象、角色、事件、交互、规格说明。每个应用系统可以拥有某几种或所有各种对象,但也不必特意对每个对象进行分类。

(4)对象的特点 ①对象是消息处理的主体

在面向对象系统中,每个对象不是消息的发送者,就是消息的响应者,不存在既不发送消息也不接收消息的对象。

2 / 25

www.100xuexi.com ②对象是以数据为中心的

圣才电子书 十万种考研考证电子书、题库视频学习平台 所有操作都与对象的属性相关,而且操作的结果往往与当时所处的状态(属性的值)有关。

③实现了数据封装

对象是一个黑盒,其属性值对外不可见,被完全封装在盒子内部,对属性值的访问只能通过界面中定义的(公有)操作进行。

3.类与封装 (1)基本概念 ①类(Class)

是一组具有相同属性、相同操作、相同语义的对象的集合。类的定义包括类名、一组数据属性和在这组属性上的一组合法操作。

②实例(Instance)

属于一个类的各个对象都是类的实例(Instance),它们的数据结构都与类定义的属性相同,但各个实例具有不同的属性值,都可以使用在类中定义的操作。

③实例变量

一个实例的属性在面向对象的程序中称为该实例的实例变量,实例变量的值一旦确定,该实例的状态也就确定下来。

(2)类与封装 ①封装的定义

类的定义应遵循抽象数据类型(ADT)的原则,按照使用与实现分离的要求,封装类的属性和操作定义。为此,必须把可提供给外部使用的操作定义在类的接口部分。封装的定义

3 / 25

www.100xuexi.com 如下。

圣才电子书 十万种考研考证电子书、题库视频学习平台 a.清楚的边界,所有对象的内部信息被限定在这个边界内。

b.接口,即对象向外界提供的方法,外界可以通过这些方法与对象进行交互。 c.受保护的内部实现,即软件对象功能的实现细节,实现细节不能从类外访问。 ②对象的访问

通过封装规定了程序如何使用对象的数据,控制用户对类的修改和数据访问权限。在多数情况下是禁止直接访问对象数据的,只能通过接口访问对象。

③封装的优点

封装特性禁止外界直接操作类中的数据,模块与模块之间只能通过严格控制的接口进行交互,使得模块之间的耦合度大大降低,从而保证了模块具有较好的独立性,使得程序的维护和修改变得较为容易。

4.继承 (1)概念

如果某几个类之间具有共性的东西(属性和行为),把它们抽取出来放在一个父类中,将各个类特有的特性放在子类中分别描述,则可建立起子类对父类的继承。

(2)举例

本科生(Undergraduate)和研究生(Graduate),可以将这两个类的相同属性和操作抽取出来放在父类Student中,Undergraduate类和Graduate类只保留它们特有的属性和操作,并作为子类建立与Student类的继承关系,如图2-2所示。

4 / 25

www.100xuexi.com 圣才电子书 十万种考研考证电子书、题库视频学习平台

图2-2 类的继承关系

(3)分类

继承从内容上可划分为以下4种。 ①取代继承

例如“窗口”和“Windows窗口”的关系,任何需要“窗口”的地方都可以用“Windows窗口”来代替。此时,“窗口”可视为父类,“Windows窗口”作为“窗口”的子类。

②内容继承

例如“四边形”与“矩形”的关系,“四边形”包括了“矩形”。 ③受限继承

例如“鸵鸟”是一种特殊的“鸟”,它不能继承“鸟”“会飞”的特性。这样,子类(“鸵鸟”)只能继承父类(“鸟”)的某些属性或操作。

④特化继承

例如“汽车”与“起重车”的关系。“起重车”作为“汽车”的子类可以直接使用父类的“数据+操作”,它自己还增加了特有的“数据+操作”。

5.多态与动态绑定 (1)多态

即语言编译器根据操作对象的类型自动调用相应的实现程序,使得相同的函数或操作名

5 / 25

全国计算机等级考试《数据库工程师(四级)》核心讲义(面向对象的基本概念与UML)【圣才出品】

www.100xuexi.com圣才电子书十万种考研考证电子书、题库视频学习平台第2章面向对象的基本概念与UML一、面向对象系统的基本概念面向对象(Object—Oriented,OO)方法以客观世界中的实体为中心,其分析和设计思想符合人们的思维方式,分析和设计的结果与客观世界的实际比较
推荐度:
点击下载文档文档为doc格式
0irms8uoi085bn78arf2570pk9t7uz00b5o
领取福利

微信扫码领取福利

微信扫码分享