zoukankan      html  css  js  c++  java
  • 类图

    熟练的掌握类图能够方便理解和记忆设计模式。这里沿用了资料1中所陈述的内容。 
      常见的有以下几种关系:泛化(Generalization)、实现(Realization)、关联(Association)、聚合(Aggregation)、组合(Composition)、依赖(Dependency) 
    1. 泛化:是指一种继承(extends)关系。在UML类图中,用空心三角形+实线来表示,箭头指向父类。 
    这里写图片描述 
    2. 实现:一般来讲实现(implements)是针对类与接口之间的关系而言的。在UML类图中,用空心三角形+虚线来表示。 
    这里写图片描述 
    3. 关联:是一种拥有的关系,它使用一个类知道另一个类的属性和方法。如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头,箭头指向被拥有者。(代码体现:成员变量) 
    这里写图片描述 
    4. 聚合:是整体与部分的关系,且部分可以离开整体而单独存在。如陈赫轮胎是整体和部分的关系,轮胎离开车依然存在。聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。在UML类图中,用带空心菱形的实心线表示,菱形指向整体。(代码体现:成员变量) 
    这里写图片描述 
    5. 组合:是整体和部分的关系,但部分不能离开整体而单独存在。如公司和部门是整体和部分的关系,没有公司就不存在部门。组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。在UML类图中,用带实心的菱形的实线表示,菱形指向整体。(代码体现:成员变量) 
    这里写图片描述 
    6. 依赖:是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖。在UML类图中,用带箭头的虚线表示,指向被使用者。(代码体现:局部变量、方法的参数或者对静态方法的调用) 
    这里写图片描述

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

    下面这张UML图,比较形象地展示了各种类图关系:

     

    参考资料 
    1. 《UML类图几种关系的总结

  • 相关阅读:
    ES6 正则的扩展(待细读)
    ES6 字符串的扩展(待细读)
    CImage访问像素及其像素操作总结
    Top-Down和Bottom-Up位图的区别
    C++运算符优先级
    图像处理库CImg
    DDX_Text详细用法
    DDX和DDV——控件与变量之间值的传递
    JavaScript实现的9大排序算法
    Visual Studio快捷键
  • 原文地址:https://www.cnblogs.com/zhehan54/p/5422939.html
Copyright © 2011-2022 走看看