首页 > 知识点
       继承与多重继承
知识路径:  > 数据库主流应用技术  > 数据库主流应用技术  > 数据库主流应用技术  > 面向对象数据库  > 面向对象数据模型
考试要求:了解      相关知识点:5个      
        在面向对象数据模型中,所有类形成了一个有限的层次结构或者是有根的无环有向图,我们称之为类层次。如有一个类C和一个连接到C的一组较低层类的集合S,则集合S中的类称为类C的子类,而类C又称为集合S中类的父类。集合S中的任何类继承类C的所有属性和方法,并可以有自己定义的属性和方法。一个父类可以有多个子类,一个子类也可以有多个父类,都存在直接关联或者间接关联的现象。
        在面向对象数据模型中存在着两种继承:继承(单继承)和多重继承。在大多数情况下,类的继承足以满足应用的要求,典型的树型结构组织用来表示类层次。在树型结构组织中,每个类最多有一个父类,即一个子类只能继承一个父类的属性、方法和消息。然而,有些情况用树型结构并不能很好地表达类层次。多重继承允许一个类从多个直接父类中继承属性、方法和消息,此时类层次可以用一个有向无环图来表示。
        在下图中给出了一个学校数据库的类层次结构图,通过它我们分别来解释类层次、继承和多重继承。
        
        具有多继承的类层次结构图
        在这个学校应用的面向对象数据库系统中,“人”是其他所有类的父类,它是这个有向无环图的根,是一个最高的类层次;在下面的一个类层次中,教工和学生是人的子类,它们继承了人的所有属性、方法和消息,同时又有本身的特殊属性、方法和消息;在最低的一个类层次中,教师、行政人员、工人和在职研究生是教工的子类,它们继承了教工和人的所有属性、方法和消息,在职研究生、研究生和本科生是学生的子类,它们继承了学生和人的所有属性、方法和消息。值得一提的是,在职研究生既是教工的子类,也是学生的子类,它同时继承了教工和学生两个父类的所有属性、方法和消息。
        类的继承带来很多的优点,子类在继承父类特性的同时,还可以定义自身的属性、方法和消息,但这样就可能和父类的属性、方法和消息发生冲突。这类冲突可能发生在子类和父类之间,通常由系统解决。对于子类和父类之间的同名冲突,一般是以子类定义的为准。但是在多继承中,一个子类可以有多个父类,如果这些父类中存在同名冲突,就会发生二义性。例如,教工和学生都有方法“显示信息”,它们共同的子类在职研究生就不知道应该继承哪一个方法了。在多继承中有三种处理二义性的方案:一是由用户选择继承的优先次序;二是由系统指定继承某一个父类的定义;三是如果出现了二义性问题,就不允许多继承,甚至有些面向对象数据库系统根本不允许多继承。
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

QQ 486577830

点击这里给我发消息

商务合作

QQ 486577830

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2026 All Rights Reserved 软考在线版权所有