zoukankan      html  css  js  c++  java
  • UML——再回首

    概述

        在画图的过程中,发现自己还是有好多不懂的地方,对于四大关系理解的不是特别透彻,所以画图的过程中总是“剪不断,理还乱!”再一次整理四大关系,再回首必然丰收~~~

    1、实现(Realization)

        表示类是接口所有特征和行为的实现。

        【表示】UML图中实现常常用一条带有空心三角箭头的虚线指向接口如下:

                                       

    2、泛化(Generalization)

        是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。

        【表示】一个带三角的箭头的实线,箭头指向父类。

                                     

    3、依赖(Dependency)

        是一种使用关系,即一个类的实现需要另以一个类的协助,所以尽量不使用类的双向依赖。表现为函数中的参数,是类与类之间的连接,表示一个类依赖于另一个类的定义,其中一个类的变化将影响另一个类。例如A依赖于B,则B体现为局部变量,方法的参数、静态方法的调用。

        形式:

           类B以参数的形式传入类A的方法中。

           类B以局部变量的形式存在于类A的方法中。

           类A调用类B的静态方法。

        【表示】在UML图中实现使用一条带有箭头的虚线表示。箭头指向被使用者,如下:

                                   

    4、关联:(Association)

        表现为变量,类与类之间的联接,它使一个类知道另一个类的属性和方法。普通关联关系使类处于同一层次上。

        关联分为:

            单向关联:只有一个类知道另一个类的公共属性和操作;

            双向关联:两个类都知道另一个类的公共属性和操作。

            大多数关联应该是单向的,单向的关联更容易建立和维护。

        【表示】图中关联用一条实线来联接两个类。

                                  

    4.1聚合:

        是关联关系的一种,较弱的关联关系。聚合关系是整体和个体的关系。使类处于不同的层次关系上。一个是整体一个是部分。同时,是一种弱的“拥有关系”。聚合关系中,整体和部分是独立存在的,各自有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享;

        【表示】带空心菱形的实心线,菱形指向整体

                                           

    4.2组合:

        也是关联关系的一种,比聚合关系强的一种关联关系。整体和部分不可分开,整体的生命周期结束就代表着部分的生命周期结束。

        【表示】带实心的菱形的实心线,菱形指向整体。

                                           

    总结

        各种关系的强弱:

        泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖 


    若安好,便是晴!

  • 相关阅读:
    重构FourlegLayers控件
    XNA 没有经过Content Pipeline对内容做Alpha预处理解决办法
    山寨DNF
    XNA中 SpriteSortMode 与 BlendState 《摘自王磊文章》
    HDU1060 Leftmost Digit
    HDU1095 A hard puzzle
    magento安装心得
    关于小米手机网站抢购的一点技术分析
    MVC3和MVC4内置Razor引擎的差异
    查看进程
  • 原文地址:https://www.cnblogs.com/zhoulitong/p/6412454.html
Copyright © 2011-2022 走看看