描述UML状态图中类的转换

时间:2015-02-17 12:18:40

标签: class oop uml statechart

我读到Statechart Diagram通常用于描述对象的转换。其中一个对象是一个类。

你能举例说明如何生成状态图,显示OOP编程中类的转换吗?

我之前用Google搜索过,但一无所获。 我感到有点困惑的部分是将状态图中的类的函数和属性放在何处。

提前致谢!

1 个答案:

答案 0 :(得分:1)

属性/操作是转换的一部分。您可以将属性作为Guard的一部分进行检查,以限制状态之间的转换。在状态的进入/退出(和内部),您可以执行该类的操作。

根据您的评论进行修改:

假设我有一个名为Teacher的类,其中包含两个名为getteachername()setteachername()的函数,其中一个属性名为name

如果需要实现约束,可以使用状态图(在下面非常简单和愚蠢的情况下)。假设名称只能在允许附加字符串的规则上设置,如果它以“Paul”开头。然后从状态isEmpty开始。它有一个传出转换modify,如果名称设置为“Paul”,它将转到statePaul。从该状态,您可以在向name追加内容时转换到相同的状态。从stateOther开始,您只能转到isEmpty

请注意,这是构造的,愚蠢和不现实的。但它显示了状态机如何基于使用类的方法来控制属性的更改。