UML中的四种关系

      UML(Unified Modeling Language,统一建模语言),是一种面向对象的建模语言。它的主要作用是帮助用户对软件系统进行面向对象的描述和建模,她可以描述这个软件开发过程从需求分析指导实现和测试的全过程。UML通过建立各种联系,如类于类之间的关系、类与对象怎么相互配合实现系统的行为状态等,来组建整个结构模型。UML提供了各种图形,来把这些模型及其关系可视化,让人们可以清楚的理解模型。可以从多个视角来考察模型,从而更加全面的了解模型。

      在用UML进行建模的时候,各个模型之间的关系要弄清楚,建立一个好的模型,是软件开发的基础。在UML中总共只有四种关系,分清楚这几种关系如何使用很重要,下边分别介绍一下这四种关系:

       UML中的这四种关系分别是:关联(Association)关系、依赖(Dependency)关系、泛化(Generalization)关系、实现(Realization)关系。

  一、关联(Association)关系

    关联关系是一种结构化的关系,指一种对象和另一种对象有联系,给定关联的两个类,可以冲其中的一个类的对象访问到另一个类的相关对象。另外,关联可以有方向,表示该关联在某个方向被使用。关联分为三种:普通关联、聚合、组合。

 1、普通关联:

      只在一个方向上存在的关联,称作单项关联,在两个方向上都存在的关联,称作双向关联。在UML中关联关系用一条实线表示,如图:


      此图表示一个公司可以有多个员工,图中employee前边的“+”号表示公有,若是私有则是“-”。若是双向关联,两个类之间直线没有箭头。也可以有自身关联。

 2、聚合:

    聚合表示的整体和部分的关系,相关联的两个类之间是相互独立的,没有时间上的先后关系,只是一个整体和部分的关系。如书架和书的关系,书架和书都可以单独存在。在UML中聚合用带有空心菱形的线表示。如下:

    

  下边的两个类是TV set的一部分。

3、组合:

   组合也能表示整体和部分的关系,但与聚合不同,组合中的两个类是有一定生命期的,如:书和书页,书页不能单独存在,只能依附于书存在。书也必须依附于书页。组合用带实心菱形的线段表示。如下:


  

二、依赖(Dependency)关系

   对于两个对象A、B,如果对象A发生变化,可能会引起另一个对象B的变化,则称B依赖于A。在UML中,依赖关系用有箭头的虚线来表示,如下图:


  图中类2依赖于类1;supplier类依赖于类Client。

三、泛化(Generalization)关系

   泛化是一般元素和特殊元素之间的关系。特殊元素(子元素)的对象可替代一般元素(父元素)额对象。用这种方法,子元素共享了父元素的结构和行为。泛化关系也就是继承。在UML中,泛化关系用一条带有空心箭头的实线来表示,如下图:


   鱼和鸟都是动物,可以说鱼和鸟是动物这个类的泛化。动物是父类,鱼和动物是子类。泛化关系的好处是代码可以复用。

四、实现(Realization)关系

    实现关系将一种模型元素(如类)与另一种模型元素(如接口)链接起来,其中接口只是行为的说明而不是结构或者实现。真正的实现由前一个模型元素来完成。在UML中,实现关系一般用一条有空心箭头的虚线来表示,如下图:



     第二个图中类class实现了一个接口interface。


      上边的UML的这四种关系,除了需要注意各种关系的区别和联系外,还要了解对关系的修饰,最常见的,对关系可以做两种修饰。

        第一种是命名,即可以为关系取名。第二种是数字,可以不同对应情况的关系,比如一对多、多对一、一对一和多对多等。





  





     

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值