面向对象数据模型的需求:
为了表示复杂的现实世界问题,需要一个与现实世界密切相关的数据模型。面向对象的数据模型很容易代表现实世界的问题。
面向对象的数据模型:
在面向对象的数据模型中,数据及其关系包含在单个结构中,该结构在该数据模型中称为对象。在这种情况下,现实世界的问题被表示为具有不同属性的对象。所有对象之间都有多重关系。基本上,它是面向对象编程和关系数据库模型的组合,如下图所示:
Object Oriented Data Model
= Combination of Object Oriented Programming + Relational database model
面向对象数据模型的组成部分:
- 对象——
对象是现实世界实体的抽象,或者我们可以说它是类的实例。对象将数据和代码封装到一个单元中,该单元通过向用户隐藏实现细节来提供数据抽象。例如:上图中学生、医生、工程师的实例。 - 属性 –
属性描述对象的属性。例如:Object为STUDENT,其属性为Student类中的Roll no、Branch、Semester。 - 方法 –
方法表示对象的行为。基本上,它代表了现实世界的动作。例如:在上图中查找 STUDENT 标记为 Setmarks()。 - 班级 –
类是具有共享结构(即属性和行为(即方法))的相似对象的集合。对象是类的实例。例如:上图中的人、学生、博士、工程师。
class student
{
char Name[20];
int roll_no;
--
--
public:
void search();
void update();
}
在这个例子中,students 指的是 class,S1、S2 是 class 的对象,可以在 main函数创建。
- 继承——
通过使用继承,新类可以继承旧类即基类的属性和方法。例如:作为类Student、Doctor 和Engineer 继承自基类Person。
面向对象数据模型的优点:
- 由于继承,代码可以重用。
- 容易理解。
- 由于继承的属性和功能的可重用性,可以降低维护成本。
面向对象数据模型的缺点:
- 它没有得到适当的开发,所以不容易被用户接受。