设计模式中UML图箭头的含义|8月更文挑战

简介: 在 Java 中表示继承关系,空心箭头指向父类

网络异常,图片无法展示
|

泛化

在 Java 中表示继承关系,空心箭头指向父类

网络异常,图片无法展示
|

示例:

网络异常,图片无法展示
|

class Parent {
}
class Son extends Parent {
}

实现

表示实现接口,箭头指向接口类

网络异常,图片无法展示
|

示例:

网络异常,图片无法展示
|

interface Iter {
}
class TerImpl implements Iter {
}

依赖

表示依赖关系,某个类的方法必须依赖另一个类才可以执行,箭头指向被依赖的类

网络异常,图片无法展示
|

示例:

网络异常,图片无法展示
|

class A {
    public void testA(){
        System.out.println("这是 A 类");
    }
}
class B {
    public void testB(A a){
        a.testA();
    }
}

关联关系

关联

表示关联关系,两个类的关系是平等的

可以双向关联,A 可以关联 B,B 也可以关联 A

箭头指向被关联的类

网络异常,图片无法展示
|

示例:

网络异常,图片无法展示
|

class A {
    public void testA(){
        System.out.println("这是 A 类");
    }
}
class B {
    private A a;
    public B(A a) {
        this.a = a;
    }
    public void testB(){
        a.testA();
    }
}

聚合

表示聚合关系,聚合是关联的一种特例,在代码上两者没有什么区别

单向关联,A 能关联 B,B 不能关联 A

尾部为空棱形,也可以是直线

网络异常,图片无法展示
|

示例:

网络异常,图片无法展示
|

class A {
}
class B {
    private List<A> a;
}

组合

表示组合关系,也是关联关系的一种

表示强关联关系,被关联的类的生命周期会随关联类的生命周期一起产生和消失

网络异常,图片无法展示
|

示例:

网络异常,图片无法展示
|

class A {
}
class B {
    private A a;
    public B() {
        this.a = new A();
    }
}

总结

聚合和组合的区别:聚合是个体离开了整体,依然可以存在. 组合是个体和整体不可以分开,个体不能离开整体单独存在。

依赖,关联 和聚合,组合的区别:依赖,关联 : 类之间的关系是在同一层次上. 聚合,组合: 类之间的关系表现为整体和部分。

相关文章
|
3月前
|
存储 测试技术 开发工具
软考中的UML图、数据流图等二十余种示例
软考中的UML图、数据流图等二十余种示例
202 0
|
14天前
|
Java uml
UML之组件图(构件图)
UML之组件图(构件图)
16 0
|
4月前
|
程序员 uml
UML图 | 时序图(顺序、序列图)绘制
UML图 | 时序图(顺序、序列图)绘制
136 0
|
5月前
|
设计模式 关系型数据库 程序员
UML中常用设计模式OCP、单例模式、简单工厂模式等模式讲解及C#中代码实现(附源码)
UML中常用设计模式OCP、单例模式、简单工厂模式等模式讲解及C#中代码实现(附源码)
44 0
|
5月前
|
设计模式 Java C++
设计模式之适配器模式:接口对接丝般顺滑(图代码解析面面俱到)
设计模式之适配器模式:接口对接丝般顺滑(图代码解析面面俱到)
|
5月前
|
设计模式 SQL 数据库连接
设计模式之抽象工厂模式--创建一系列相关对象的艺术(简单工厂、工厂方法、到抽象工厂的进化过程,类图NS图)
设计模式之抽象工厂模式--创建一系列相关对象的艺术(简单工厂、工厂方法、到抽象工厂的进化过程,类图NS图)
|
5月前
|
测试技术 uml
UML—浅谈常用九种图
UML—浅谈常用九种图
54 0
|
7月前
|
设计模式 数据可视化 程序员
设计模式概述、UML图、软件设计原则
设计模式概述 软件设计模式的产生背景 "设计模式"最初并不是出现在软件设计中,而是被用于建筑领域的设计中。 1977年美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫·亚历山大(Christopher Alexander)在他的著作《建筑模式语言:城镇、建筑、构造》中描述了一些常见的建筑设计问题,并提出了 253 种关于对城镇、邻里、住宅、花园和房间等进行设计的基本模式。 1990年软件工程界开始研讨设计模式的话题,后来召开了多次关于设计模式的研讨会。直到1995 年,艾瑞克·伽马(ErichGamma)、理査德·海尔姆(Richard Helm)、拉尔夫·约翰森(Ra
44 0
|
7月前
|
设计模式 IDE 测试技术
【设计模式——学习笔记】设计模式前置知识:UML类图入门
【设计模式——学习笔记】设计模式前置知识:UML类图入门
34 0
|
9月前
|
uml Python
将python源码自动生成UML图——扩张包Graphviz+Pyreverse
将python源码自动生成UML图——扩张包Graphviz+Pyreverse
354 0