zoukankan      html  css  js  c++  java
  • UML类图关系理解和图例

    UML分类

     类图关系

      用户根据用例图抽象成类,描述类的内部结构和类与类之间的关系,是一种静态结构图。 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。

      各种关系的强弱顺序: 泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖。

    分组1:泛化和实现

    泛化是父类和子类之间的关系,实现是接口和实现的关系

    指向关系:子类指向父类。

    分组2:组合、聚合和关联

    共同点:这三种关系都表示类A作为类B的属性(成员变量),是一种比较持久的关系。类A拥有类B作为属性,就表示拥有了类B的属性和方法。

    区别:语法上不能区分三者,只能从含义上区别:组合是整体和部分的关系,部分依赖于整体存在,如鸟和翅膀;聚合是集体和个体的关系,个体不需要依赖于集体的存在而存在;其他情况下用关联。

    指向关系:对于关联关系,类A使用了类B作为属性,则类A指向B

    分组3:依赖

    定义:类A依赖类B,表示类A拥有类B作为返回值、形参、局部变量或静态方法的调用。

    指向关系:类A依赖类B,A指向B

    类图示例和记忆帮助:

    因为关系是按照类A将类B作为A的xxx来划分的。

    泛化和实现的指向都是子类指向父类,实现类指向抽象类。虚线表示实现(因为常常说实现接口),实现表示泛化。

    其他的除了具体的聚合和组合外,都是类A拥有类B,则类A指向类B

    聚合和组合,组合关系更强用的是实心菱形箭头,聚合是空心箭头。

     UML类图基本表示法

    一个类用三行表示,见图:

    参考:

    类图基本表示法:https://www.w3cschool.cn/uml_tutorial/uml_tutorial-5y1i28pl.html

    所有类关系图例:https://design-patterns.readthedocs.io/zh_CN/latest/read_uml.html#id1

    类关系含义理解和代码实现:https://blog.csdn.net/K346K346/article/details/59582926

    UML分类图:https://zhuanlan.zhihu.com/p/44518805

    最近发现了一个很全的UML资料网站,时间有点老但是内容不影响:http://www.uml.org.cn/oobject/OObject.asp#3

  • 相关阅读:
    净化-湿式除尘器:湿式除尘器
    净化-袋式除尘器:袋式除尘器
    LOCK
    locale
    loadkeys
    LOAD
    ln -在文件之间建立连接
    lmhosts
    listen
    listalias
  • 原文地址:https://www.cnblogs.com/IcarusYu/p/12299477.html
Copyright © 2011-2022 走看看