首页 > 文章中心 > 对象数据库

对象数据库

前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇对象数据库范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。

对象数据库

对象数据库范文第1篇

关键词:对象数据库;编译技术;属性

中图分类号:G250.74 文献标识码:A 文章编号:

作为计算机软件的一个重要分支,数据库技术一直是备受业界关注的焦点。从20世纪60年代末开始,数据库技术经历了层次数据库、网状数据库和进而进入关系数据库阶段至今,数据库技术的研究也不断取得进展。80年代,关系数据库是发展的主流,几乎所有新推出的DBMS产品都是关系型的[1]。研究的方向主要有两条:一是改造和扩充关系数据库,以适应新的应用需求;二是改用新的数据模型,例如面向对象的数据模型、基于逻辑的数据模型等。

1、面向对象数据库概述

属性值都是直接量的对象是简单对象,用其他对象作属性值的对象是复合对象,复合对象是一个层次结构,这是对象概念不同于关系模型中元组的重要特征。对象间通过发送消息实现相互通信,属性值查询和修改只有通过向对象发消息调用才能实现;具有相同特征的对象被组织成了类,类间存在继承、聚集的关联。与传统的数据模型相比,面向对象数据模型具有许多优势,它具有表示复杂对象的能力,通过封装和信息隐藏概念提供了模块化机制,通过封装和继承概念提供了软件重用机制,而通过滞后联编等概念得到了系统扩充能力。面向对象数据库(OODB)是指对象的集合、行为、状态和联系是以面向对象数据模型来定义的。面向对象数据库系统(OODBS)是指支持定义和操作OODB的数据库系统[2]。

2、面向对象数据库的基本要素及其结构

(1)抽象。随着网络技术和分布式数据库技术的发展,产生了客户机/服务器(Client/Server)结构和微内核结构的操作系统。客户机/服务器结构的思想如下:将操作系统分成运行在用户态并以C/S方式活动的进程以及运行在核心态的内核两大部分。内核部分除外,操作系统的其余部分将会被分成若干相对独立的进程,并且每一个进程实现一类服务,称作服务器进程,例如,提供文件管理服务、进程管理服务、存储管理服务、网络通信服务,等等。(用户进程也在该层并以C/S方式活动,是一种客户进程)。服务器进程的任务是检查是否有客户提出服务请求,如果有请求则在满足客户的要求后返回结果,于是,用户进程与服务器进程形成了客户机/服务器关系。运行在核心态的内核把该消息传给服务器;服务器执行相应操作,再通过内核用另一种消息把结果返回给用户[3]。

(2)封装性(信息隐蔽)。以往的电子商务应用系统常常采用C/S结构进行数据的管理。所谓C/S结构即Client/Server(客户机/服务器),是一种两层结构,采用Intranet技术。

(3)共享性。SQL Server Management Studio替代了原有SQL Server 2000下的企业管理器的功能,可以充分管理SQL Server。它是一套管理工具,采用简易用户接口提供辅助开发方程式工具和管理服务器的许多功能,用于管理从属于SQL Server的组件。此集成环境使用户可以在一个界面内执行各种任务,例如,实现备份数据、编辑查询和自动执行常见函数等任务,也大大改善了创建表、视图、触发器、用户自定义函数和存储过程的工具。

3、面向对象数据库的编译技术

假如我们进一步把图1的对象数据库框架从软件开发角度进行分离的话,除去安全部分内容,则数据库的框架结构可以简化为如图1所示。

图1基于对象数据库设计框架示意图

通过将数据加密、表、数据库、Web Form代码及表示层(Web Form)的分离,分别以类、Web服务、ASPX等的形式存在,因此不仅实现了各业务逻辑之间的无缝连接,同时也增加了代码的系统的可维护性和可重用性。打开关闭连接数据库、执行数据的增、删、改、查等功能。CourseAction.java实现了课程管理的请求转发,为了实现对ADD、REMOVE、LIST、VIEW、TRASH、EDIT、SAVE等不同的要求,CourseAction类设计实现了performAdd()、performRemove()、performList()、performView()、performTrash()、performEdit()和performSave()方法。由于这七个方法在编写风格上基本一致,所以我们针对performList()方法来说明CourseAction类的构建过程。下面是CourseAction类的部分实现代码。数据库技术在系统中是十分重要的,状态应该随时能查询到[4]。

AddStrings(pString)返回一个字符串的基于0的编号,该值用来连接字符串到按钮上,其中的字符串参数pString需要两个结束符来表示结尾,必须将字符串写成如下形式:pString= "Only one string to add\0";CString类不能提供这样的功能,因为不可能在CString中保存超过一个结束符的字符串。所以,将CString中的字符串取出,以char定义的字符串保存,再对该字符串添加一个结束符,做法如下:

调用工具栏类。先在类CA1Dlg中实例化CStandardBar的对象。

CStandardBar m_StandardBar;

别忘了在这个文件里包含CStandardBar类声明所在的头文件。

#include "StandardBar.h"

m_StandardBar.AutoSize(); //重新计算控件的大小

return 0;

}

参考文献

[1]茅健. 2.0+SQL Server 2005全程指南[M]. 电子工业出版社,2004.

[2]启明工作室. 精通SQL Server 2005数据库应用系统开发[M]. 北京:人民邮电出版社,2007.

对象数据库范文第2篇

关键词:面向对象;软件开发;数据库;程序设计

中图分类号:TP311.1 文献标识码:A文章编号:1007-9599 (2010) 09-0000-01

Database Application Based on Object-oriented Technology

Zhang Lin

(Ocean University of China,Shandong266033,China)

Abstract:Based on the object-oriented technology,aiming at the characteristics of relational database application methods are discussed, and some books management system as example analysis.The paper expounds the programmer can make better use of object-oriented technology,in a more natural way of dealing with the underlying database data.

Keywords:Object-oriented;Software development;Database;

Programming

一、面向对象的技术特点

面向对象是一种从组织结构上模拟客观世界的方法,它从客观世界的基本成分――对象出发,通过抽象来实现对客观世界的模拟,并通过抽象提取出对象之间的相互联系和相互作用。面向对象的思想首先出现在程序设计语言中,随后,逐渐渗透到许多复杂工程领域。

面向对象概念的核心是对象,即对一个信息及相应处理的描述。对象可分为客观世界中的对象和目标系统中的对象两大类。前者为现实中遇到的每一个实体,可以是一部电话、一所房子、一本书,可以是数据结构中的栈和队列,也可以是任何的处理过程。后者为面向对象程序设计中的对象,是一种特殊的数据结构,它包括对象的形状数据及对此数据进行的各种操作,可用公式表示为:对象=数据+操作。面向对象技术通过对现实世界中对象的抽象以及对各个对象之间的相互关系、相互作用的描述实现由现实世界到目标系统的映射。

二、基于面向对象技术的关系数据库应用方法

(一)整体思路

面向对象的设计方法需要寻找应用程序的领域类,类中封装了数据和对数据操纵的方法,对类的实例化就得到对象,所以必须要解决好对象的存放、检索等问题。在面向对象数据库中,数据以对象的形式保存,并且数据自动保存对象间的关系。数据库不需要集合也不需要分解,而且数据库由可靠的图像组成,这些图像是与对象有关的状态图像。因为面向对象数据库处理的是对象,而不是行和列,所以需要定义相关的方法以便对对象进行操作。

(二)对象映射成关系数据库

由于RDBMS以二维表为基本管理单元,所以对象模型最终是由二维表及表问关系来描述,即对象模型向数据库概念模型的映射就是向数据库表的变换过程。从数据库的角度看,关联和聚合/组合关系之间的唯一不同是对象相互之问的绑定程度,对于聚合和组合,在数据库中对整体所做的操作通常需要同时对部分进行操作,而关联则不同。在聚合情况下,在整体中读取时,通常希望在部分中读取,而在关联情况下,需要执行什么操作则不明显。在将对象保存到数据库中或从数据库中删除对象也存在相同的情况。

三、基于面向对象技术的数据库应用实例

根据需求,需要开发一个图书管理信息系统,系统选用SQL Server 2000作为后台数据库,前台选择Visual C++作为开发语言,Visual C++中的MFC为Visual C++提供了大量的类,把Windows API函数封装在类中,方便用户开发Windows应用程序。

按照对象映射成关系数据库的有关规则,并结合实际需求,给出系统的数据表结构如下:

管理员信息表(管理员编号PK,管理员姓名,管理员类别,管理员密码,管理员性别,联系电话,地址);

图书类别表(图书类别PK,可借阅天数);

借书信息表(记录编号PK,图书编号FK,图书名称,图书类别FK,价格,读者编号FK,读者姓名,借书时间,借书年份,借书当日位于当年的日子数);

图书信息表(图书编号PK,图书名称,图书类别FK,出版社,价格,入库时间,图书状态,读者编号FK,借阅频率,说明);

读者留言表(记录编号PK,读者编号FK,读者姓名,留言时间,留言信息);

读者信息表(读者编号PK,读者姓名,读者类别FK,读者密码,读者性别,联系电话,地址,读者所在系别,注册时间);

读者类别表(读者类别PK,可借阅册数);

还书信息表(记录编号PK,图书编号FK,图书名称,图书类别FK,价格,读者编号FK,读者姓名,还书时间);

罚款信息表(记录编号PK,图书编号FK,图书名称,图书类别FK,价格,读者编号FK,读者姓名,借书时间,还书时间,超期天数,挂失时间,罚金,是否缴纳罚金);

数据表之间通过主键(PK)和外键(FK)建立关联,以实现数据约束。为了更方便地对数据进行操作和管理,图书管理信息系统设计并使用专门的数据库类CADOCONN来封装系统数据库,其中包含了连接数据库的代码。在ADOCONN.H中定义指向Connection对象的指针和指向Recordset对象的指针。按照面向对象的观点,对数据表封装的伪代码如下:

class 数据表名

{

//数据表中的字段名

//对数据表操作的方法完成查询、更新、删除等操作,这些方法中包含建立、断开连接的语句和要执行的SQL语句

//其他的方法

}

四、结束语

基于面向对象技术的数据库管理系统的设计使得需求分析者和数据库设计者之间能够实现很好的交流,其技术关键是面向对象的对象模型及其向数据库结构的转化。面向对象的数据模型描述了真实世界的对象,以及对象间的关系和限制,并通过面向对象的数据库系统加以实现。

参考文献:

对象数据库范文第3篇

关键词:对象关系数据库;面向对象;AMOS II

中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)34-2016-02

A New Generation of Object-Relational Database: AMOSII

LIU Yan-hong1,2

(1.Nanjing Institute of Industry Technology Information Engineering, Nanjing 210046, China; 2.Nanjing University of Aeronautics and AstronauticsCollege of Information Science and Technology,Nanjing210016,China)

Abstract: Object-relational database can be combined with a single relational database system and a single object-oriented database system. It overcomes their limitations and is a new direction for research and discussion. AMOS II is the latest generation of object-relational database and has powerful object-oriented features. It provides the features and functions that a large number of next-generation database should have. The case of AMOS II fully reflects the advanced nature of the relational database.

Key words: object-relational database; object oriented; AMOS II

1 引言

随着数据库技术的发展,原有的数据库系统很难适应新的应用领域中的复杂对象和这些对象的复杂行为的需求。新的应用需求推动了数据库技术的研究, 其中最重要的研究方向之一就是使用一种与人们认识客观事物的过程一致的方法, 这就是面向对象的方法。这种方法大大提高软件开发的效率。对象关系数据库是面向对象技术与数据库技术相结合的产物。

2 对象-关系数据库

对象关系数据库兼有关系数据库和面向对象的数据库两方面的特征。即它除了具有原来关系数据库的种种特点外,还应该提供以下特点:

1) 允许用户扩充基本数据类型。即允许用户根据应用需求自己定义数据类型、函数和操作符,而且一经定义,这些新的数据类型、函数和操作符将存放在数据库管理系统核心中,可供所有用户公用。

2) 能够在SQL中支持复杂对象。由多种基本类型或用户定义的类型构成的对象。能够支持子类对超类的各种特性的继承,支持数据继承和函数继承,支持多重继承,支持函数重载。能够提供功能强大的通用规则系统,而且规则系统与其他的对象-关系能力是集成为一体的。

3 新一代对象关系数据库的优势

3.1 传统的关系数据库的缺陷

传统的关系数据库局限性为:

1) 面向机器的语法数据结构,数据模型单一,数据类型简单、固定。

2) 不能依据某一类型的数据类型来扩展数据类型。

3) 结构与行为完全分离。

4) 存储管理的对象有限,事物处理能力较差。

3.2 新一代对象关系数据库的特征和功能

1) 数据库应支持复杂的数据类型,并能存储和处理复杂对象。还要具备支持用户自定类型和可扩展能力。

2) 数据库必须对其它系统开放。

3) 系统必须具有可移植性,可连接性,可扩展性和可互操作性。实现程序设计语言和数据库语言的无缝的集成。

4 AMOS II应用案例分析

AMOS II是最新一代的对象关系数据库,它充分体现了对象关系数据库的强大功能。

4.1 学生课程成绩查询案例

有若干学生,学生信息包括学号,姓名,班级。有若干选修课程,课程信息包括课程号,课程名,成绩。实现功能:1、通过查询语句,可以查看所有的学生信息和课程信息。2、输入学生信息如姓名,可以查看到他所选课程的相关内容。3、输入课程名称可以查看到选这门课的学生姓名。4、输入学生姓名,可以统计出该生选的所有课程名称和课程数。

4.2 案例设计与分析

1) AMOS II具有面向对象数据库的特点。

在OODB中, 用类来描述对象的结构特征和行为特征。它有下面的定义形式:

class < 类名> [ (参数表) ]properties

{类的特征}

在本案例中课程和学生类设计如下:

create type kecheng properties(

sid charstring,//课程号//

sname charstring,//课程名//

scoreinteger //期末成绩//

);

create type student properties(

tidcharstring,//学生号//

tname charstring,//学生姓名//

banjicharstring //班级//

);

创建kecheng的对象并且赋值用以下命令:

create kecheng(sid, sname,score) instances

:s1("01","Chinese",91),:s2("02","English",90),

…;

创建student的对象并且赋值用以下命令:

create student (tid, tname, banji) instances

:t1("08001","zhangsan","3ban"),

:t2("08002","lisi", "4ban"),

…;

函数设计举例如下:

create function o_derect(student nonkey)-> as stored;

//输入参数student类,返回该学生所选课程的元组//

create function sname(kecheng nonkey)->charstring as stored;

create function tname(student nonkey)->charstring as stored;

create function tid(student nonkey)->charstring as stored;

…;

以上定义的源代码保存在文件lyh.amosql中。AMOSQL类似于SQL语言。例如用下面命令对学生信息进行查询:

select tin (x), tname(x), from student (x);

在AMOS II中运行并得出结果,如图1。

这些类、对象、属性和函数的设计,充分体现了面向对象技术的特点。

2) AMOS II具有强大的可扩充功能。

AMOS II提供的Java函数的接口。在AMOS II中可以调用用户自定义的Java函数。

本案例用Java语言定义函数tongji()并保存在名为lyh.java的文件中。该函数的功能是接受输入参数为学生名,输出该学生所选择的课程名并统计出课程个数。

为了能在AMOS II调用该函数,需要在javademo.osql文件中添加下面的语句:

create function tongji(charstring)->charstring as foreign "JAVA:lyh/tongji";

运行后如图2所示。

这充分体现了AMOS II允许用户根据应用需求自己定义数据类型、函数,具有强大的可扩展功能。

5 总结和展望

综上,对象―关系数据库是面向对象技术与数据库技术相结合的产物。AMOS II是最新的一代对象关系数据库,具有强大的面向对象的功能。从学生课程成绩查询案例,可以看到AMOS II具有面向对象数据库的特点,允许用户根据应用需求自己定义数据类型、函数和操作符,具有强大的可扩展功能,体现了对象关系数据库的先进性。本文用具体案例介绍了在AMOS II中如何定义类,对象和函数,和如何调用Java自定义函数,实现统计函数的功能。

对象―关系数据库技术还处于研究发展阶段,在很多方面它还面临很多的挑战,例如对象―关系数据库还可以从面向对象数据库那里吸收养分和研究成果,如路径索引、对象聚集等。相信对象―关系数据库有着美好的发展前景。

参考文献:

[1] 赵志升,许素文,杨小姝.对象――关系数据库管理系统及其特性与实现[J].电脑开发与应用,2002,15(8):47-48.

[2] 王治.对象―关系数据库技术及其发展[J].九江师专学报:自然科学版,2003,22(5):86-88.

对象数据库范文第4篇

关键词:面向对象数据库系统;数据模型;内容管理系统

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)09-2033-04

1 面向对象与面向对象数据库系统

面向对象(OO)方法的核心思想,是将系统问题域中的实体对象,直接映射为软件的构成元素。认为客观世界本来是由许多不同种类的对象构成的,在不同对象之间的相互联系和相互作用下,才构成完整的事物。

面向对象方法学所引入的对象、方法、消息、类、实例、继承性、封装性等重要概念,为软件开发的分析和设计带来新的思维过程和方法,对于实现大型的、复杂的系统分析和设计奠定了良好的科学技术基础。

近年以来,数据库开发商们都已经在关系数据库系统中很好地支持了对象到关系表的映射,如Oracle8i 、DB2-5等等。但是,利用面向对象建模技术所建立起来的对象模型,无法直接映射到关系结构中,需要通过某种方法,进行必不可少的转换。但是更重要的,是概念上的混乱和额外开发负担所带来的问题。

面向对象数据库系统(OODBS)能直接对应面向对象(OO)数据模型,支持自定义的各种数据类型和结构,并提供数据建模基础上的复杂数据操纵能力,包括:定义专用的控制运算,定义语义关系运算,以及事务管理运算,等等。

OODBS 是持久共享对象库的管理者;每个对象库对应模型所定义的对象集合。

2 面向对象数据库系统的特性

面向对象数据库系统(OODBS) 赋予数据库设计和应用开发人员很强的面向对象能力,从而大大扩展了数据库系统的应用领域,提高了开发人员的工作效率和应用系统的质量。面向对象数据库系统具有以下特性:

① 具有表示和构造复杂对象的能力。

② 封装性和信息隐藏技术提供了程序的模块化机制。

③ 能够表达继承和类层次的关系。

④ 一般为原生数据库,直接使用编程语言操作数据库,提高程序员开发持久层阶段的效率。

3 开源的面向对象的数据库DB4O

DB4O(Database 4 Object)就是一家来自加州硅谷的开源面向对象数据库公司 db4objects 设计和实现的一款开源的性能卓越的纯面向对象数据库。目前支持.NET和java两种编程语言。

db4o主要特性如下:

① 100% 原生的面向对象数据库。

② 高性能db4o 官方公布的基准测试数据,如表1所示(表中的数值表示相对速度)。db4o 比采用 Hibernate/MySQL 方案在某些测试线路上速度高出 44 倍之多!并且安装简单,仅仅需要 400Kb 左右的 .jar 或 .dll 库文件。

③ 支持多种平台db4o 支持从 Java 1.1 到 Java 5.0,此外还支持 .NET 、 CompactFramework 、 Mono 等。

④ 开源模式 与其他 ODBMS 不同,db4o 为开源软件,通过开源社区的力量驱动开发 db4o 产品。

4 J2EE系统的设计

目前比较成熟的WEB应用的模型,即J2EE系统的架构模型——MVC2,MVC+Struts,如图1所示。

本研究结合面向对象数据库DB4O的特性和J2EE系统的特性,以内容管理系统CMS(Content Management System)作为实现的载体。

4.1 内容管理系统模块的设计

根据新闻管理系统的特殊性,分为前台系统和后台管理系统。前台系统的功能模块如图2所示。

后台管理的系统功能模块如图3所示。

4.2 内容管理系统数据库设计

内容管理系统最为主要的数据库表的设计新闻这张表,其他的表的设计都是围绕这张表进行,所以整个系统的数据库表的设计如图4所示。

所有表的id都由系统生成唯一的标识,User作为News表的user属性的类型,Type作为News表的type属性的类型,Comment作为News表的comments属性的类型,并且comments还是数组类型,这样能够很好的体现此系统中每个数据表的对象关系。

4.3 内容管理系统的实现

由于面向对象数据库DB4O不同于传统的关系型数据库,而其中最大的特点是不再有sql语句对数据库进行操作,所以对于和数据库交互的开启、关闭、增、删、改、查的操作封装城公用类(BaseDAO)进行相关的操作。而这些对数据库的操作中最有特点的则是查询,因为没有sql语句,所以在此封装了一个玫举用于判断对于某个字段的查询是相等,相似,大于,小于,还是不相等。查询操作符的玫举封装代码,如图5所示。

在查询操作时就能够和关系数据库类似的进行相等、相似、大于、小于、不相等的查询。生成组合查询条件的代码,如图6所示。

生成组合查询条件的代码说明:传入参数,query为查询条件的实例,fields为查询的字段名,values为对应查询字段具体的值,queryTypes为对应查询条件的操作类型即相等、相似、大于、小于、不相等之一。Fields,values,queryTypes为相同大小的数组,并且按照数组下标一一对应。

4.4 新闻系统的特殊查询

新闻系统大部分的操作都是查看最新的新闻,结合DB4O数据库在执行查询(client.query())时的一些特性,即每次会取出数据库中此对象类的所有IDs,此处为所有News对象的ID。所以,单独对这部分操作进行处理。多个查询操作在一段短时间访问getNewsList方法时,在第一个查询操作还没有关闭数据库之前到来的查询,继续使用第一个操作查询打开的连接和得到的数据集合对象(ObjectSet)由此提高性能。

5 结束语

面向对象的数据库在J2EE系统中的应用,就目前而言应用不是很广泛,但是就其自身的特性在某一些领域运用面向对象的数据库可能会起到优化系统,提高性能的作用。目前DB4O是主要用于嵌入式应用开发的数据库,但是它优良的性能,而且比较优秀的事务管理,同样能让其在企业应用中合理的应用能发挥很好的作用。此内容管理系统是把面向对象的数据库DB4O用于J2EE项目中的一次尝试,并且取得了不错的效果。不过是不是适合更复杂的企业应用系统还需要进一步的探索和研究。

参考文献:

[1] 夏素霞,袁宗福,金立平.OO模型中ODL语言的研究与实现[J].计算机应用与软件,2005(5).

[2] 王意洁.面向对象数据库的并行查询处理与事务管理[M].长沙:国防科技大学出版社,2005.

[3] 徐洁磐.面向对象数据库系统及其应用[M].北京:科学出版社,2003.

[4] 王珊,萨师煊.数据库系统概念[M].北京:高等教育出版社,2006.

[5] (印度) Kumar B V, Sangeetha S, Subrahmanya S V.深入浅出J 2 EE架构 应用程序设计与部署的原理[M].北京:清华大学出版社,2006.

[6] (美) Darren Broemmer.J 2 EE应用与实践技巧 Java设计模式、自动化与性能[M].北京:电子工业出版社,2004.

对象数据库范文第5篇

关键字:面向对象数据库;多媒体数据库

中图分类号:TP311.13文献标识码:A文章编号:1007-9599 (2010) 10-0000-01

Object-oriented Technology Application in the Multimedia Database

Xiao Ling

(Puyang Vocational and Technical College,Puyang457001,China)

Abstract:With the network technology and the rapid development of multimedia technology,and the growing wealth of multimedia information,object-oriented database management system get concern to the industry in recent years,object-oriented database technology has become a research hotspot.

Keywords:Object-oriented database;Multimedia database

随着多媒体数据库的引入,对数据的管理方法也在随之变革。我们面临着这样的问题:如果基本数据不再是字符数值型,将如何检索图像、声音,甚至是视频数据。随着技术的不断更新发展,产生了许多可以对多媒体数据进行管理和使用的技术,例如面向对象数据库、基于多媒体内容检索技术、超媒体技术等等。

面向对象数据库系统(Object Oriented Data Base System,简称OODBS)是面向对象程序设计方法与数据库技术相结合的产物。对于面向对象数据库系统和OO数据模型的研究主要体现在:研究以关系数据库和SQL为基础的扩展关系模型;以面向对象的程序设计语言为基础,研究持久的程序设计语言,支持OO模型;建立新的面向对象数据库系统,支持OO数据模型。

一个OO模型是用面向对象观点来描述现实世界实体(对象)的逻辑组织、对象间限制、联系等的模型。一系列面向对象核心概念构成了OO模型的基础。概括起来,OO模型的核心概念有如下一些:

一、对象(Object)与对象标识OID(Object IDentifier)

对象是用来表示或描述问题领域中的事物,世界上任何事物都是对象。对象具有名字标识,称为对象标识(OID)。并具有自身的功能和状态。

对象包含三个重要的因素:

(一)属性:对象的性质,即用来描述和反映对象特征的参数。对象的属性可以是系统或用户定义的数据类型,也可以是一个抽象的数据类型。

(二)方法:对象的行为,是定义在对象属性上的一组操作。实际是将一些通用的过程编写好并封装起来,作为方法供用户直接调用。

(三)事件:响应对象的动作,它发生在用户与应用程序交互时。

二、类(C1ass)

类是对象的抽象,也是创建对象实例的模板。类是由用户定义的关于对象的结构和行为的数据类型,包含了创建对象的属性描述和行为特征的定义。换句话说,将那些具有相同的构造,使用相同的方法,具有相同变量名和变量类型的对象集中在一起形成类。类中的每个对象称为类的实例。类中所有的对象共享一个公共的定义,而变量的值是各不相同的。

三、封装(Encapsulation)

封装是对象和类概念的主要特性,将大部分实现细节隐藏起来的一种机制。封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。

也就是说,现实世界可以被描绘成一系列完全封装、自治的对象,这些对象通过一个受保护的接口访问其他对象。封装保证了模块具有较好的独立性,使得程序维护修改较为容易。对应用程序的修改仅限于类的内部,可以最大限度地减少因应用程序修改而带来的影响。

四、消息(Message)

由于对象是封装的,对象与外部的通信一般只能通过显式的消息传递,即消息从外部传送给对象,存取和调用对象中的属性和方法,在内部执行所要求的操作,操作的结果仍以消息的形式返回。OODB语言用于描述面向对象数据库模式,说明并操纵类定义与对象实例。OODB语言主要包括对象定义语言(ODL)和对象操纵语言(OML),对象操纵语言中一个重要子集是对象查询语言(OQL)。OODB语言一般应具备下述功能:

五、类的定义

包括对象的创建和类的创建两部分。对象的创建是以类为基础的,面向对象程序设计语言中,一般只提供如数字、字符等最基本的类。大量的复合类需要用户来创建,创建类需要提供5个方面的信息:类标识、相关属性组、操作程序组、语义完整的约束条件、可以继承的类型集。

六、操作/方法的定义

面向对象数据库语言可用于对象操作/方法的定义与实现。在操作实现中,语言的命令可用于操作对象的局部数据结构。对象模型中的封装性允许操作/方法由不同程序设计语言来实现,并且隐藏不同程序设计语言实现的事实。

面向对象数据库的特性有以下两个方面:

(一)对象的嵌套。在同一个面向对象数据库模式中,对象的某一属性可以是一个对象,这样对象之间就产生一个嵌套的层次结构。对象嵌套概念是面向对象数据库系统的一个重要概念,它允许不同的用户采用不同的粒度来观察对象。对象嵌套层次结构和类层次结构形成了对象横向和纵向的复杂结构。

相关期刊更多

计算机科学与探索

北大期刊 审核时间1-3个月

中国电子科技集团公司

遥感技术与应用

北大期刊 审核时间1-3个月

中国科学院

软件导刊

省级期刊 审核时间1个月内

湖北省科学技术厅