一、状态图的组成部分
- 状态:对象在其生命周期内可能处于的条件或情形,使用
state "State Name" as Statename
表示。 - 初始状态:表示对象生命周期的开始,使用
[*]
表示。 - 最终状态:表示对象生命周期的结束,使用
state "End" as end
表示。 - 转换:表示状态之间的迁移,通常由事件或条件触发,使用
-->
或->
表示,可以在箭头上方标注事件和条件。 - 事件::导致状态转换发生的事情,在转换线上方使用
[EventName / Condition]
表示。 - 条件:决定状态转换是否发生的逻辑表达式,在事件名称后面使用
{Condition}
表示。 - 动作:在状态转换过程中执行的操作。,在转换线上方使用
/ Action
表示。
二、代码示例
@startuml
state "Off" as off
state "On" as on
[*] --> off
off --> on : TurnOn / PowerOn()
on --> off : TurnOff / PowerOff()
@enduml