关闭

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

标签: 对象模型父子关系prototype
849人阅读 评论(0) 收藏 举报

我们在面向对象模型设计的时候,父子关系,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
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5766次
    • 积分:75
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条
    文章存档
    最新评论