类图你要了解并熟悉

简介: 《基础》


以下类图使用 PlantUML (opens new window)绘制,更多语法及使用请参考: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
相关文章
|
7月前
|
程序员 uml
【程序员小知识】使用PlantUML画UML(下) 时序图
【程序员小知识】使用PlantUML画UML(下) 时序图
316 0
|
7月前
|
Java 程序员 uml
【程序员小知识】使用 PlantUML 画 UML(上)类图
【程序员小知识】使用 PlantUML 画 UML(上)类图
554 0
|
设计模式 架构师 Java
为掌握Java设计模式奠基:两步搞懂UML类图
为掌握Java设计模式奠基:两步搞懂UML类图
为掌握Java设计模式奠基:两步搞懂UML类图
|
数据可视化 uml
UML——概述(什么是UML?UML有什么作用?面向对象技术)
我们要先理解模型,模型就是对现实的简化,把复杂系统变成小的系统,采用“逐个击破”的原则逐一解决。
UML——概述(什么是UML?UML有什么作用?面向对象技术)
|
程序员 uml
程序员必须要了解的UML类图相关知识
在UML类图中,常见的有以下几种关系: 泛化(Generalization),实现(realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)
|
设计模式 Java uml
UML类图及Java实现
我想完整记录一下Java版的设计模式的内容,本篇是关于UML类图,它与设计模式息息相关。图文形式结合介绍UML类图,并且在理解困难的地方做了解释。
262 0
|
设计模式 Java
工厂模式类图梳理笔记
工厂模式类图梳理笔记
125 0
工厂模式类图梳理笔记
|
设计模式 Java uml
【Java设计模式】UML类图六大关系总结(含代码)(一)
【Java设计模式】UML类图六大关系总结(含代码)(一)
【Java设计模式】UML类图六大关系总结(含代码)(一)
|
设计模式 Java uml
【Java设计模式】UML类图六大关系总结(含代码)(二)
【Java设计模式】UML类图六大关系总结(含代码)(二)
【Java设计模式】UML类图六大关系总结(含代码)(二)