Uml 类图

UML图中最基本的就是类图,它描述类,并表现类之间的关系。

PlantUml 符号含义

 
 属性  -->
 
 参数 ..>

 

@startuml

Class01 <|-- Class02
Class01_0 <|.. Class022
Class011 ..|> Class022

Class03 *-- Class04
Class05 o-- Class06
Class07 *.. Class08
Class09 -- Class10
Class11 <|.. Class12
Class13 --> Class14
Class15 ..> Class16
Class17 ..|> Class18
Class19 <--* Class20
Class21 *--o Class22

@enduml


// 基础符号的含义:
// |>, <| 三角符号
// -- 实线
// .. 虚线
// o 空心菱形 聚合
// * 实心菱形 组合
// > 箭头
// # 空白正方形
// : 标示标签 链接的文字

//常见用法:

// o-- 标示聚合
// #-- 标示组合
// ..> 依赖: 虚线
// --> 关联: 实线


// 空心箭头的线,标示泛化
// 泛化关系表示类与类之间的继承关系接口与接口之间的继承关系
// C2 继承 C1,C1是C2的父类, C2是C1的子类
// Class01 <|-- Class02

// 实心菱形,标示组合关系
//c3 为主,组合c4
// *-- 四肢
// Class03 *-- Class04

// 空心菱形,聚合
// 两侧都可以独立存在,表现只是聚合关系
// 部门 o-- 人员
// Class05 o-- Class06

// 虚线链接,没有实际意义
// Class07 .. Class08

// 实现链接,没有实际意义
// Class09 -- Class10

// <|.. 三角符号+虚线 实现关系
//c1应该是interface, c2是c1的实现类
// Class11 <|.. Class12

// 实线+箭头 关联关系
//
// Class13 --> Class14

// 虚线+箭头 依赖关系
// Class15 ..> Class16

// 虚线+三角 实现关系
// Class17 ..|> Class18

// 箭头 实线 实心菱形
// Class19 <--* Class20

// 实心菱形 实线 空心菱形
// Class21 *--o Class22

// 包的关键词 包名 类型 {内容} package demo1 <<Type>>
// 盒子,正方体 <<Node>>
// 平面正方形 <<Rectangle>>
// 文件夹 <<Folder>>
// 架子 <<Frame>>
// 正方形,波浪线边 <<Cloud>>
// 数据库 <<Database>>

// 命名空间关键字 控件名称

@startuml
scale 750 width

package foo1 <<Node>> {
class Class1
}

package foo2 <<Rectangle>> {
class Class2
}

package foo3 <<Folder>> {
class Class3
}

package foo4 <<Frame>> {
class Class4
}

package foo5 <<Cloud>> {
class Class5
}

package foo6 <<Database>> {
class Class6
}

namespace net.dummy #DDDDDD{
Object <|-- Demo1
Demo1 *-- Demo2
}

namespace net.dummyF #FFFFFF{
Object <|-- Demo1
Demo1 *-- Demo2
}
@enduml

// 注释
//


// 对象 连线 对象 冒号 注释 箭头 Driver - Car : drives >
//

@startuml
class Car

Driver - Car : drives >
Car *- Wheel : have 4 <
Car -- Person : < owns

@enduml

// 添加方法
// <|-- 实现 继承关系
// 对象: 方法 Object: equals()
// 对象: 属性类型 属性名称 ArrayList : Object[] element
//

@startuml

Object <|-- ArrayList
Object : equals()
ArrayList : Object[] elementData
ArrayList : Size()

@enduml

 


@startuml

Class01 <|-- Class02
Class01_0 <|.. Class022
Class011 ..|> Class022

Class03 *-- Class04
Class05 o-- Class06
Class07 *.. Class08
Class09 -- Class10
Class11 <|.. Class12
Class13 --> Class14
Class15 ..> Class16
Class17 ..|> Class18
Class19 <--* Class20
Class21 *--o Class22

@enduml


// 基础符号的含义:
// |>, <| 三角符号
// -- 实线
// .. 虚线
// o 空心菱形 聚合
// * 实心菱形 组合
// > 箭头
// # 空白正方形
// : 标示标签 链接的文字

//常见用法:

// o-- 标示聚合
// #-- 标示组合
// ..> 依赖: 虚线
// --> 关联: 实线


// 空心箭头的线,标示泛化
// 泛化关系表示类与类之间的继承关系接口与接口之间的继承关系
// C2 继承 C1,C1是C2的父类, C2是C1的子类
// Class01 <|-- Class02

// 实心菱形,标示组合关系
//c3 为主,组合c4
// *-- 四肢
// Class03 *-- Class04

// 空心菱形,聚合
// 两侧都可以独立存在,表现只是聚合关系
// 部门 o-- 人员
// Class05 o-- Class06

// 虚线链接,没有实际意义
// Class07 .. Class08

// 实现链接,没有实际意义
// Class09 -- Class10

// <|.. 三角符号+虚线 实现关系
//c1应该是interface, c2是c1的实现类
// Class11 <|.. Class12

// 实线+箭头 关联关系
//
// Class13 --> Class14

// 虚线+箭头 依赖关系
// Class15 ..> Class16

// 虚线+三角 实现关系
// Class17 ..|> Class18

// 箭头 实线 实心菱形
// Class19 <--* Class20

// 实心菱形 实线 空心菱形
// Class21 *--o Class22

// 包的关键词 包名 类型 {内容} package demo1 <<Type>>
// 盒子,正方体 <<Node>>
// 平面正方形 <<Rectangle>>
// 文件夹 <<Folder>>
// 架子 <<Frame>>
// 正方形,波浪线边 <<Cloud>>
// 数据库 <<Database>>

// 命名空间关键字 控件名称

@startuml
scale 750 width

package foo1 <<Node>> {
class Class1
}

package foo2 <<Rectangle>> {
class Class2
}

package foo3 <<Folder>> {
class Class3
}

package foo4 <<Frame>> {
class Class4
}

package foo5 <<Cloud>> {
class Class5
}

package foo6 <<Database>> {
class Class6
}

namespace net.dummy #DDDDDD{
Object <|-- Demo1
Demo1 *-- Demo2
}

namespace net.dummyF #FFFFFF{
Object <|-- Demo1
Demo1 *-- Demo2
}
@enduml

// 注释
//


// 对象 连线 对象 冒号 注释 箭头 Driver - Car : drives >
//

@startuml
class Car

Driver - Car : drives >
Car *- Wheel : have 4 <
Car -- Person : < owns

@enduml

// 添加方法
// <|-- 实现 继承关系
// 对象: 方法 Object: equals()
// 对象: 属性类型 属性名称 ArrayList : Object[] element
//

@startuml

Object <|-- ArrayList
Object : equals()
ArrayList : Object[] elementData
ArrayList : Size()

@enduml
posted @ 2019-01-25 11:05  静思长远  阅读(338)  评论(0编辑  收藏  举报