1.5 面向对象的数据库应用系统设计概念
? 面向对象技术提供了一个具有全新概念的数据
库应用系统开发模式,它将面向对象分析
( OOA,Object-Oriented Analysis)、面向对
象设计( OOD,Object-Oriented Design)和面
向对象程序设计( OOP,Object-Oriented
Programming)集成在一起。其核心概念是
“面向对象”。
? 所谓面向对象( Object-Oriented),可以这样
定义:面向对象 =对象 +类 +属性的继承 +对象之
间的通信。如果一个数据库应用系统是使用这
样的概念设计和实现的,则称这个应用系统是
面向对象的。一个面向对象的应用系统中的每
一个组成部分都是对象,所需实现的操作则通过建立对象与对象之间的通信来完成的。
所谓面向对象( Object-Oriented),可以这样定义:面
向对象 =对象 +类 +属性的继承 +对象之间的通信。如果一
个数据库应用系统是使用这样的概念设计和实现的,则
称这个应用系统是面向对象的。一个面向对象的应用系
统中的每一个组成部分都是对象,所需实现的操作则通
过建立对象与对象之间的通信来完成的。
1.5.1 对象的概念
1.5.2 类的概念
1.5.3 属性的概念
1.5.4 事件与方法的概念
1.对象的定义
一个对象就是它本身的一组属性和它可执行的一组操作。
2.数据库应用系统中对象的分类
数据库应用系统的对象一般可以分为两类:实体对象和过
程对象。
( 1) 实体对象
客观存在的对象称为实体对象。
( 2) 过程对象
具有过程特征的对象称为过程对象。
1.5.1 对象的概念
3.数据库应用系统开发中的面向对象设计
在建立了对象的概念后,就可以说,数据库应用系统的设
计过程就是逐步定义系统中的每一个对象,并赋予它们相
关的属性和操作的过程。以系统的观点看,对象中还可以
包含对象,被包含在一个对象中的对象称为子对象,而可
以包含子对象的对象则称为容器对象。 Access数据库中的
所有基本对象都是容器对象。
显然,为了开发一个 Access数据库应用系统,首先应该发
现并定义系统中存在的所有实体对象,在必要的情况下,
还需要对这些实体对象进行规范化处理,这个过程就是前
面所介绍的数据库设计过程。然后应该分析系统运行所需
要的那些过程实体,定义它们直至它们确实能够对相应的
事件做出正确的操作,这个过程就是前面所介绍的系统功
能设计过程。
1.5.2 类的概念
类是一组具有相同数据结构和相同类型操作的对
象的集合, 我们可以说, 类是对象的抽象, 而
对象是类的具体实例 。
在关系数据库应用系统中, 一个数据表可以看成
是一个对象 。 因为所有的数据表对象均具有二
维表格是特点 ( 这表明数据表对象的属性相
同 ), 且都是用于存储数据的对象 ( 这表明数
据表对象的基本操作相同 ), 所以可以将数据
表归结为一个类 。 如果数据库应用系统的开发
工具提供可能需要的所有对象的类, 那么在进
行数据库应用系统开发时, 就只需利用这些类
创建一个又一个合乎应用需求的对象实例, 从
而可以极大地提高数据库应用系统开发的工作效率 。
1.5.3 属性的概念
属性是对象固有的特征。
在关系数据库应用系统中,不同类型的对象具有
不同的属性集。例如,Access数据库中的一个
数据表对象总是具有这样的属性,数据表名以
及一系列的字段。给定一个数据表名,并定义
其中的一系列字段,则构造成了一个数据表对
象。
派生于同一个类的对象是不允许任意两个对象实
例的所有属性值都相同的,也就是说,属于同
一类的两个对象至少有一个属性的取值不同,
这个属性被称为这一类对象的关键属性,也称
为关键字。
1.5.4 事件与方法的概念
? 既然客观世界是由对象组成的,那么客观世界
中的所有行动都是由对象发出,且能够为某些
对象感受到。我们把这样的行动称为事件。
? 在关系数据库应用系统中,事件分为内部事件
和外部事件。系统中对象的数据操作和功能调
用命令等等都是内部事件,而鼠标的移动、单
击和键盘的敲击等等都是外部事件。并非所有
的事件都能被每一个对象感受到,例如,鼠标
在某一位置上单击,该事件则只能被安置在这
一位置上的对象感受到。
? 当某一个对象感受到一个特定事件发生时,
这个对象应该可以做出某种响应。例如,将
鼠标指向一个运行窗体上标记为“退出”的
按钮对象处单击左键,则这个窗体会被关闭。
这是因为这个标记为“退出”的按钮对象感
受到了这个事件,并以执行关闭窗体的操作
来响应这个事件。因此,我们把方法定义为一个对象响应某一事件的一个操作序列。
? 显然,为了完成一个数据库应用系统的开发
工作,在根据需要创建了应用对象并设定了
所有对象的各个属性之后,还必须为相关对
象设计其响应某些事件的方法。一个方法也
就是一个操作序列,即程序。而这样一种程
序设计的过程,就被称之为面向对象的程序
设计。
事件与方法的概念