对象模型中的父子关系种类

我们在面向对象模型设计的时候,父子关系,parent-child relationship,是经常涉及到的。类之间有父子关系,对象也有父子关系。

所谓父子关系,一般是指Inheritance Relationship,或者是Container-contained Relationship,共有4中父子关系。

类:

1)继承关系,面向对象语言都有,体现的是属性、行为和事件的继承。例如人类继承动物类,动物类继承生物类。

2)包含关系,具体建模的时候经常碰到,例如汽车类包含轮子类、车架类、电子系统类等,通信设备上的cabinet包含rack,rack包含slot,board等,这个关系在建模的时候一般需要通过metadata进行管理。

对象:

1)继承关系,对象的继承关系在现实中很多,就是你和你爸妈的关系。面向对象语言,例如java和c#,现在好像还没有办法很好的对此进行建模,tom和jack两个对象,都是Human这个类的实例化对象,但jack继承自tom,jack是儿子,tom是爸爸,但tom也是儿子。对于现有的面向对象语言,建模阶段无法进行描述,完全是实例化阶段的一个关系。

     结合javascript语言的原型链,prototype。任意对象有constructor,constructor有prototype对象,prototype对象又有constructor,不断进行,直到自循环。

    function tomborn(){}

  tomborn.prototype = tom; //tom这个对象怎么来的呢?还有个老tom

  jack = new tomborn();

  只要是tomborn生产出来的对象,都是tom的儿子。

2)包含关系,对象包含关系式类包含关系的一个实例化,类实例化的结果是对象,而类关系的实例化就是对象关系(关系的描述有两种:属性和关系类,无论哪一种,关系实例化即是属性或者关系类的实例化)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值