类图plantuml语法
时间: 2025-05-08 07:20:09 浏览: 64
### PlantUML 中类图语法的定义
在 PlantUML 中,绘制类图的核心在于如何定义类以及它们之间的关系。以下是详细的说明:
#### 定义类
类可以通过 `class` 关键字来定义,并在其内部指定属性和方法。基本语法如下所示[^1]:
```plantuml
class ClassName {
+ attributeType attributeName
+ methodName(parameterType parameterName): returnType
}
```
- **修饰符**:可以使用 `+`, `-`, `#`, 或者 `~` 来表示访问权限(分别是公共、私有、受保护和包级可见)。
- **属性和方法**:通过换行分隔多个属性或方法。
例如,定义一个简单的类 `Person` 可以这样写[^2]:
```plantuluml
class Person {
+ String name
+ int age
+ void setName(String newName)
+ String getName()
}
```
---
#### 定义类间的关系
PlantUML 支持多种类间关系的表达方式,具体包括继承、实现、关联、聚合、组合等。每种关系都有其特定的语法和符号表示[^3]:
1. **继承 (Generalization)**
使用 `<|--` 表示子类继承父类。
```plantuml
class ParentClass {}
class ChildClass <|-- ParentClass {}
```
2. **实现 (Realization)**
使用 `..|>` 表示接口被某个类实现。
```plantuml
interface InterfaceA {}
class ConcreteClass ..|> InterfaceA {}
```
3. **关联 (Association)**
使用 `--` 连接两个类,默认表示普通的双向关联。
```plantuml
class ClassA {}
class ClassB {}
ClassA -- ClassB : associationLabel
```
4. **聚合 (Aggregation)**
聚合是一种弱化的整体/部分关系,通常用空心菱形表示。语法为 `o--`。
```plantuml
class Department {}
class Employee {}
Department o-- Employee : hasEmployees
```
5. **组合 (Composition)**
组合是一种强耦合的整体/部分关系,通常用实心菱形表示。语法为 `*--`。
```plantuml
class University {}
class Faculty {}
University *-- Faculty : containsFaculties
```
6. **依赖 (Dependency)**
依赖关系用于描述一个类的变化会影响另一个类的行为,通常用虚线箭头表示。语法为 `..>`.
```plantuml
class Caller {}
class Callee {}
Caller ..> Callee : uses
```
---
#### 示例综合应用
下面是一个完整的例子,展示了如何在一个类图中定义类及其关系[^4]:
```plantuml
@startuml
class University {
+ String name
}
class Faculty {
+ String departmentName
}
class Professor {}
University *-- Faculty : consistsOf
Faculty o-- Professor : employs
Professor ..> University : worksAt
@enduml
```
在这个例子中:
- `University` 和 `Faculty` 是一种组合关系 (`*--`);
- `Faculty` 和 `Professor` 是一种聚合关系 (`o--`);
- `Professor` 对 `University` 的工作关系则是依赖关系 (`..>`).
---
###
阅读全文
相关推荐

















