程序员必须要了解的UML类图相关知识

  1,类与类之间的关系

在UML类图中,常见的有以下几种关系:

泛化(Generalization),实现(realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)

2,依赖

在类图中使用虚线箭头表示 

只要是在类中用到了对方,就存在依赖关系。没有对方,编译都不能通过。

1,类中用到了对方

2,类的成员属性

3,方法的返回类型

4,方法的参数类型

5,在方法中使用到

例:

public class Service {
    private Test1 test1;

    public void fun(Test2 test2){

    }

    public Test3 fun2(){
        return null;
    }

    public void fun3(){
        Test4 test4 = new Test4();
    }
}

这段代码中Service类依赖了Test1,Test2,Test3,Test4 

3,泛化(继承)

泛化是依赖的一种特例,也就是继承,继承就不用多说了,子类继承父类

类图中使用空心三角+实线表示

4,实现

实现也是依赖的一种特例,类实现接口

类图中使用空心三角+虚线表示

5,关联

关联关系就是类与类之间的联系,也是依赖关系的特例

在类图中用实线+箭头表示

单向一对一关系 比如下面这个,Person类里面有一个成员变量IDCard,而IDCard里面没有Person这个成员变量

双向一对一关系 下面这样就是双向一对一关系

6,聚合

聚合关系表示的是整体和部分的关系,整体和部分可以分开。聚合是关联关系的一种特例。

在类图中使用空心菱形+实线表示

比如现在有一个电脑类,一个鼠标类,一个显示器类。 显然鼠标和显示器是电脑的一部分,没有了鼠标和显示器,电脑还是电脑。

代码表示

类图 表示鼠标和显示器聚合到电脑中

7,组合

如果我们认为电脑和鼠标显示器是不可分离的,那么他们的关系就升级为组合关系

在类图中用实心菱形+实线表示,组合也是整体与部分的关系,但是整体与部分不可分离

代码就变成这样

这样一来,电脑这个类一创建对象,鼠标和显示器就也会创建出来,电脑对象销毁,鼠标和显示器也会销毁。他们变成了共生共灭的关系。

类图

猜你喜欢

转载自blog.csdn.net/qq_41890624/article/details/117958171