使用的软件是韩国公司主导开发的StarUML:StarUML
Windows下载StarUML的时候可能较慢,如果下载不了可以尝试 WhiteStarUML , BOUML , draw.io(在线工具)
例子如上图所示(未破解的starUML有水印)
如上图所示,除了类和接口,有7种关系,由上到下为
关联(Association)单向关联(Directed Association):类使用其他类的成员变量
聚合(Aggregation):个体指向集体且个体可单独存在
组合(composition):一个类包含另一个类,部分指向整体,不可脱离整体单独存在,比如翅膀 wing离开了bird无法单独飞行,!!!耦合度比聚合高
依赖(Dependency):一个类使用被依赖类的引用
泛化(Generalization):父类指向子类
实现(Interface Realization):具体实现指向接口,有圆圈表示法和类表示(标有<<interface>>)
图中我用黄色表示接口
(空心箭头以下称虚箭头):
空心箭头2个:虚头虚线接口,虚头实线泛化
菱形箭头2个(没有虚线):空心聚合,实心组合(可以理解为实心耦合度更高)
组合关系中,部分不能离开整体存在 > 聚合可以
实心箭头2个:实头虚线依赖,实头实线关联
依赖关系中,类拥有被依赖类 >关联只使用了被关联类的引用,不拥有
类名:斜体为抽象类,下划线为static
类成员表示方式:“+”即public,“-”即private,“#”即protect,
变量:[权限][变量名]:[变量类型]
例:+size:int
函数:[权限][函数名](形参类型,...,形参类型):[返回类型]
例:+getSize():int