【UML】四种关系

  

        在UML中包含四种关系(Relationships),主要分为:关联关系、依赖关系、泛化关系和实现关系。当然理解的还是很浅薄的,有时候也是会混乱,感觉相对以前学的东西这一部分难理解了,需要更用心的去看,去听,参考着视频和参考书给出的例子,还是来理一理思路。


    一、关联(Association)关系


      这种关系描述了两个或多个类之间的结构性关系,给定的关联的两个类,可以从其中的一个类的对象访问到另一个类的相关对象。关联关系用一条实线表示基本格式如图:

        当然也可以有方向,表示该关联在某方向上被利用。 关联关系又可以分为两种:单向关联(Unidrecitional Association)和双向关联(Bidirectional Association)。

        下图是一个单向关联的例子:机房收费系统中,操作员给学生注册的联系:



    二、依赖(Dependency)关系


        相对来说,依赖关系是一种弱关系,因为在依赖关系中,对于两个对象A和B,如果对象A发生变化,可能会引起另一个对象B的变化,则称A依赖于B。依赖关系用一条带有箭头的虚线表示。

        用简单的例子来说明:

           

        如上图:在机房收费系统中,对于学生信息管理,如果一个学生专业改变,那他的班级一定改变,但卡内余额不会变化,这就是一种弱关系。


    三、泛化(Generalization)关系


        泛化关系即为一种继承关系,定义了一般元素和特殊元素之间的分类关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象,子元素共享了父元素的结构和行为。泛化关系用一条带有空心箭头的实现来表示。下面通过两个通俗的例子来理解:

           
        如上图:Fruit和Animal为两个父元素,而Banana、Apple和Dogs、Cats分别为他们各自的两个子元素,子元素可继承父元素的属性等,如果给Fruit一个属性“成熟季节”,Banana和Apple即可继承这一属性。


    四、实现(Realization)关系


        实现关系是类元之间的语义关系,是将一种模型元素与另一种模型元素连接起来,其中接口只是行为的说明而不是结构或者实现。实现关系一般用一条带有空心箭头的虚线来表示。
        接口说明更是前一模型实现的方法,可以有一个或多个,如下图:



        就我们学校充饭卡来说,我们可以通过人工、自助充值机、手机银行客户端、微信关注四种方法分别来实现,而这四种方法就是四个接口,来说明“充饭卡”这一事件的实现方法。


    小结:

        四种关系的基本介绍就是这些,他们之间也有很多相似的地方,比如关联和依赖关系,两者很相像,但又大不相同,这就考验我们的认知度了。不要因为怕把两者弄混而分开了解,更多的寻找联系,并区分差异,这才更有助于我们学习,总结的多了、清楚了,自然而然就了解了。



评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值