我读到状态图通常用于描述对象的转换。其中一个对象是一个类。
你能给我一个例子,说明如何在 OOP 编程中生成显示类转换的状态图吗?
我以前用谷歌搜索过,但一无所获。我有点困惑的部分是在状态图中放置类的函数和属性的位置。
提前致谢!
我读到状态图通常用于描述对象的转换。其中一个对象是一个类。
你能给我一个例子,说明如何在 OOP 编程中生成显示类转换的状态图吗?
我以前用谷歌搜索过,但一无所获。我有点困惑的部分是在状态图中放置类的函数和属性的位置。
提前致谢!
属性/操作是转换的一部分。您可以检查属性作为 Guard 的一部分,它限制状态之间的转换。在状态的进入/退出(和内部)上,您可以执行类的操作。
根据您的评论进行编辑:
假设我有一个类Teacher
,它有两个名为的函数getteachername()
和setteachername()
一个名为 的属性name
。
如果您需要实现约束,您将使用状态图(在以下非常琐碎和愚蠢的情况下)。假设名称只能设置在允许以“Paul”开头的字符串附加到它的规则上。然后从 state 开始isEmpty
。如果名称设置为“Paul” modify
,它有一个传出转换。statePaul
在将某些内容附加到 时,您可以从该状态转换到相同的状态name
。从stateOther
你只能过境到isEmpty
。
请注意,这是构建的、愚蠢的和不现实的。但它显示了状态机如何根据使用类的方法来控制属性的变化。