0

在状态机图中,动作可以在状态内执行,也可以在转换期间执行?

这个定义是真是假?

4

1 回答 1

1

是的,用“行为”替换“行为”更准确(在状态机中,“图表”在这里不相关)

来自正式/2017-12-05 § 14.2.3.4.3 状态进入、退出和 doActivity 行为

一个状态可能有一个关联的入口行为。此行为(如果已定义)将在通过外部转换进入状态时执行。此外,一个状态也可能有一个关联的退出行为,如果定义了,它会在状态退出时执行。

一个状态也可能有一个关联的 doActivity 行为。此行为在进入状态时开始执行(但仅在状态进入行为完成后)并与可能与状态相关联的任何其他行为同时执行,直到:

  • 它完成(在这种情况下会生成完成事件)或
  • 状态退出,在这种情况下 doActivity 行为的执行被中止。

状态的 doActivity 行为的执行不受该状态的内部转换触发的影响。

并从正式/ 2017-12-05 § 14.2.3.8 过渡

一个Transition ...它可能有一个关联的效果Behavior,在Transition被遍历(执行)时执行。

A Behavior可以是OpaqueBehavior、Activity、StateMachineInteraction(参见正式/ 2017-12-05 § 13.4.2.4 Specializations有关抽象类Behavior

于 2021-04-09T14:28:03.260 回答