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