zoukankan      html  css  js  c++  java
  • UML类图的几个关系及其区别

    原文:http://blog.csdn.net/voyage_mh1987/article/details/5735449

    类图的识别是学习设计模式的一个最基本的功底,所以先介绍下类图及其相关关系

    1:一般化(泛化)

    一般化表示的是类与类之间的继承关系,接口与接口的继承关系,或者是类与接口的实现关系,一般化的关系是从子类指向父类,或者从实现的接口类指向被实现的接口,与继承或者实现的方向相反。

    如下图所示:

    类的继承

    实现接口

     

     

    2:关联关系

    关联关系是类与类之间的联接,它使一个类知道另一个类的属性和方法,关联可以是双向的或者是单向的。双向的关联可以有两个箭头或者没有箭头。而单向关联只有一个箭头,表示关联的方向。在关联的每个端点,还可以有一个基数,表明这一端的类可以有几个实例。

     

    关联

    3:聚合Aggregation

    聚合是关联关系的一种,是强的关联关系,聚合是整体和个体之间的关系,与关联关系一样,聚合关系也是通过实例变量来实现的。假设你在不是很确定一个关联关系是不是聚合关系,可以将其设置为关联关系。

    聚合

    4:合成关系 composition

    聚合是关联关系的一种,是比聚合强的强的关联关系。它要求普遍的聚合关系中代表整体的对象负责代表部分的对象 的生命周期,合成关系是不能被共享的。代表整体的对象需要负责保持部分对象的存户,在一些情况下负责将代表部分的对象消灭掉。代表整体的对象可以将代表部 分的对象传递给另一个对象,由后者负责此对象的生命周期。换言之,代表部分的对象在某一个时刻只能与一个对象发生合成关系,由后者排他的负责生命周期。

    合成关系

    5:依赖 dependency

    依赖是类与类之间的连接,依赖是单向的。依赖表示一个类依赖于另外一个类的定义。

    依赖

    这些都是类图的基本关系及其UML表示。了解了这些才能对设计模式开始学习。总之UML是一种建模的工具,也是分析和设计的基础,是团队协作不可缺少的一个交流的工具。下一篇博文将要介绍的是设计模式的几个原则。

  • 相关阅读:
    webserivice---通过Ajax访问远程天气预报服务
    IDEA Error:java: 未结束的字符串文字
    UML:它是一种支持模型化和软件系统开发的图形化语言
    核心代码之分页
    struts.xml 的 file 报错 解决方式
    Myeclipse buildpath 加server lib (server runtime)
    核心代码之优化查询
    入园新编
    为啥JS中判断对象是否是类的实例推荐使用instanceof而不推荐constructor
    http常考的题目
  • 原文地址:https://www.cnblogs.com/yeagen/p/2170375.html
Copyright © 2011-2022 走看看