一种状态中可以包含其他状态,通常称为嵌套状态或子状态。如果您正在为复杂的状态机建模,那么使用嵌套状态来将详细行为分成多个级别。状态中还可以包含一些操作,用来标识当对象处于特定状态时可能执行的任务。
| 状态类型 | 描述 | 图元素 |
|---|---|---|
| 简单 | 一种不包含任何区域的状态 | |
| 组合 | 一种具有一个区域的状态 | |
| 正交 | 一种具有两个或更多区域的状态 | ![]() |
| 最终 | 位于组合状态的某个区域中的一种状态,用来表示已完成该区域中的活动 | |
| 子机状态 | 一种引用另一个状态机的状态 |
转换显示状态之间的变化过程,指示状态正在发生更改。触发器、警戒条件和结果是组成一个转换的三个部分,这三个部分都是可选的。
| 事件类型 | 描述 | 图标 |
|---|---|---|
| 调用 | 对象接收到调用一项操作的请求。调用该操作将触发转换。 | |
| 更改 | 指定了一个布尔条件,当满足该条件时就会触发转换。 | |
| 信号 | 指定的一条消息。当对象接收到该消息时,就会触发转换。 | |
| 时间 | 指定必须经过的一个时间段,或者是触发转换的绝对时间。 |