UML类图

转:UML各种关系符号
UML类图感知

UML中描述 对象 / 类 之间相互关系的方式包括:依赖(继承,实现),关联(聚合,组合)。

1、 依赖:A的变化会影响B,反之不成立,那么B依赖A;继承和实现在语义上讲也是依赖关系。uml中用带箭头的虚线表示,箭头指向被依赖元素B。


依赖.png

特点:当类与类之间有使用关系时就属于依赖关系,不同于关联关系,依赖不具有“拥有关系”,而是一种“相识关系”,只在某个特定地方(比如某个方法体内)才有关系。

编程中体现为局部变量、方法的参数、静态方法引用

public class Person {
    void buy (Car car) {
       
    }
}

2、 继承:uml中用带空心箭头的实线表示,箭头指向父类(被继承)。

3、 实现:uml中用带空心箭头的虚线表示,箭头指向接口(被实现)。

4、 关联:元素间的结构化关系,是一种弱关系,被关联的元素间通常可以被独立的考虑。uml中用实线表示,箭头指向被依赖元素。


关联.png

特征:表示类与类或类与接口之间的依赖关系,表现为“拥有关系”;具体到代码可以用实例变量来表示。

编程中体现为成员变量

public class Teacher {
     protected: List<Student> mList;
}
public class Student {  

}

5、 聚合:关联关系的一种特例,表示部分和整体(has a)的关系。uml中用带空心菱形头的实线表示,菱形头指向整体。


聚合.png

特征:属于是关联的特殊情况,关联关系所涉及的两个类处在同一个层次上,而聚合关系中,两个类处于不同的层次上,一个代表整体,一个代表部分,体现部分-整体关系,是一种弱拥有关系;整体和部分可以有不一样的生命周期;是一种弱关联;
编程中体现为成员变量

public class Car {
        protected:Engine engine;
}
public class Engine {

 }

6、组合:组合是聚合关系的变种,表示元素间更强的组合关系;生命周期。uml中用带实心菱形头的实线表示,菱形头指向整体。


组合.png

特征:属于是关联的特殊情况,也体现了体现部分-整体关系,是一种强“拥有关系”;整体与部分有相同的生命周期,是一种强关联;

 class Person {
        protected:  Eyes  mEyes;
 }
class Eyes {
}

这几种关系都是语义级别的,所以从代码层面并不能完全区分各种关系;但总的来说,后几种关系所表现的强弱程度依次为:组合>聚合>关联>依赖

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 忘记了uml类图连线之间的关系,记录一下。 1. 关联关系 关联(Association)关系是类与类之间最常用的...
    cutieagain阅读 1,909评论 0 2
  • 在UML 2.0的13种图形中,类图是使用频率最高的UML图之一。Martin Fowler在其著作《UML Di...
    雷雷_zll阅读 13,384评论 0 14
  • UML类图用来定义系统中的类,包括描述类的结构和类之间的关系。类图的主要作用于描述系统的静态结构。先看一张图(图片...
    Josaber阅读 6,148评论 0 5
  • 这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系; 能看懂类图中各个类之间的线条、箭头代表什么意...
    a2bfbb8a095f阅读 1,857评论 0 1
  • 看懂UML类图 我们在学习设计模式的时候,经常会看到各种类图,如果对那些UML类图不做了解,图上的各种线看起来可以...
    熙O阅读 1,008评论 1 3