统一建模语言,用来表达类的属性,类与类之间的关系,学习UML语言,主要为了在设计模式中理清楚类与类之间的关系。本人使用的UML工具是PlantUML。

快速入门🚀PlantUML

-:private
+:public
#:protect

泛化(继承):A <|- B
实现(实现):A <|.. B
依赖:A ..> B
关联:A —> B
组合:A <—* B
聚合:A <—o B
棒棒糖:A ()- B

类在UML中的表示

abstrace类

UML入门 - 图1

interface类

UML入门 - 图2

class类

UML入门 - 图3

类与类之间的关系在UML中的表示

UML中类与类之间的关系:

泛化(extends)

在Java中体现在继承,箭头方向:子类指向父类。
子类与父类的继承 UML入门 - 图4接口与接口的继承 UML入门 - 图5

实现(implement)

和Java中的实现同一个意思:一个类实现某个接口。 UML入门 - 图6

依赖(call)

理解为Java中的持有引用关系,参考原型模式进行理解。 UML入门 - 图7

关联

一个类和另一个类有对应关系。 UML入门 - 图8

组合(组而成体)

整体与部分关系,例如:鸟与翅膀的关系,但是关系更加强烈,如果鸟死了,翅膀也就没用了。 UML入门 - 图9

聚合(聚而合之)

整体与部分关系,例如:树木与森林,关系不强烈。 UML入门 - 图10

棒棒糖接口

UML入门 - 图11

完整使用

UML入门 - 图12