类图的6大关系详解

作者: java劝退师图图 | 来源:发表于2019-06-10 15:14 被阅读0次

类图

以下类图使用 PlantUML 绘制,更多语法及使用请参考:http://plantuml.com/ 。

泛化关系 (Generalization)

用来描述继承关系,在 Java 中使用 extends 关键字。

@startuml

title Generalization

class Vihical

class Car

class Trunck

Vihical <|-- Car

Vihical <|-- Trunck

@enduml

实现关系 (Realization)

用来实现一个接口,在 Java 中使用 implements 关键字。

@startuml

title Realization

interface MoveBehavior

class Fly

class Run

MoveBehavior <|.. Fly

MoveBehavior <|.. Run

@enduml

聚合关系 (Aggregation)

表示整体由部分组成,但是整体和部分不是强依赖的,整体不存在了部分还是会存在。

@startuml

title Aggregation

class Computer

class Keyboard

class Mouse

class Screen

Computer o-- Keyboard

Computer o-- Mouse

Computer o-- Screen

@enduml

组合关系 (Composition)

和聚合不同,组合中整体和部分是强依赖的,整体不存在了部分也不存在了。比如公司和部门,公司没了部门就不存在了。但是公司和员工就属于聚合关系了,因为公司没了员工还在。

@startuml

title Composition

class Company

class DepartmentA

class DepartmentB

Company *-- DepartmentA

Company *-- DepartmentB

@enduml

关联关系 (Association)

表示不同类对象之间有关联,这是一种静态关系,与运行过程的状态无关,在最开始就可以确定。因此也可以用 1 对 1、多对 1、多对多这种关联关系来表示。比如学生和学校就是一种关联关系,一个学校可以有很多学生,但是一个学生只属于一个学校,因此这是一种多对一的关系,在运行开始之前就可以确定。

@startuml

title Association

class School

class Student

School "1" - "n" Student

@enduml

依赖关系 (Dependency)

和关联关系不同的是,依赖关系是在运行过程中起作用的。A 类和 B 类是依赖关系主要有三种形式:

A 类是 B 类方法的局部变量;

A 类是 B 类方法当中的一个参数;

A 类向 B 类发送消息,从而影响 B 类发生变化。

@startuml

title Dependency

class Vihicle {

    move(MoveBehavior)

}

interface MoveBehavior {

    move()

}

note "MoveBehavior.move()" as N

Vihicle ..> MoveBehavior

Vihicle .. N

@enduml

免费Java高级资料需要自己领取,涵盖了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo高并发分布式等教程,一共30G。

传送门:https://mp.weixin.qq.com/s/JzddfH-7yNudmkjT0IRL8Q

相关文章

  • UML类图

    UML类图与类的关系详解 原链接:https://www.cnblogs.com/pangjianxin/p/78...

  • C++线下测试回顾

    题目地址 有同学说不知道怎么画内存模型图,我这里附几个教程UML类图小结UML类图与类的关系详解类似的教程笔记网上...

  • 自定义View的各个重要的类和属性

    1 、Path类详解 2、Paint详解 3、Canvas详解 4 、绘制雷达图

  • UML类图与类的关系详解

    在画类图的时候,理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现(Realizat...

  • UML类图与类的关系详解

    虚线箭头指向依赖; 实线箭头指向关联; 虚线三角指向接口; 实线三角指向父类; 空心菱形能分离而独立存在,是聚合;...

  • UML类图与类的关系详解

    欢迎关注“雨夜随笔”公众号。 原文地址:http://www.uml.org.cn/oobject/2011042...

  • UML类图与类的关系详解

    转载文章 虚线箭头指向依赖; 实线箭头指向关联; 虚线三角指向接口; 实线三角指向父类; 空心菱形能分离而独立存在...

  • UML 图 2018-09-04

    转自 UML 类图详解 类信息 类名 Abstract 右下角 {abstract}abstract class ...

  • 类图的6大关系详解

    类图 以下类图使用PlantUML绘制,更多语法及使用请参考:http://plantuml.com/。 泛化关系...

  • 类图详解

    类与类之间的关系主要有六种:继承、实现、组合、聚合、关联和依赖,这六种关系的箭头表示如下, 六种类关系中,组合、聚...

网友评论

    本文标题:类图的6大关系详解

    本文链接:https://www.haomeiwen.com/subject/oqpzxctx.html