如何在UML类图中表示“事件”?

12

这是我的代码片段

public class Notation : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;

    private Notes _note;
}

如何在UML类图中正确表示写法public event PropertyChangedEventHandler PropertyChanged;

首先,我认为应该是:

+PropertyChanged: PropertyChangedEventHandler

但后来,我意识到它没有代表代码中的event部分。

有什么想法吗?


1
可能是重复的问题:如何在UML类图中最好地表示C# .NET事件构造? - Moses Aprico
2个回答

14

下面是游戏中使用的UML类别。只需将此属性归类为:

enter image description here

请注意,_note 是一个普通的私有属性。


这是标准的UML吗?在这里找不到:https://www.omg.org/spec/UML/2.4.1/Superstructure/PDF - Campa
你找不到什么?所有的元素都是标准的UML,如何应用取决于你。 - Aleks
我指的是属性的“事件”原型。 - Campa
你可以自由地使用任何你想要的模型元素。你可以赋予它意义。UML有一些标准的模型元素,但你也可以添加自己的元素。 - Aleks

6
您可以在类定义中定义接收器。接收器是一种行为特征。如果您定义了它,类的实例就可以从环境中接受信号事件。
在 UML 中定义事件的另一种方式是使用行为图。
- 活动图具有事件元素,以便在执行期间接受特定类型的事件。 - 状态机图具有触发器定义的转换,也表示事件接受。 - 交互图将事件表示为接收或发送消息。
行为定义(由行为图表示)可以分配给类定义作为分类器行为或拥有的行为。拥有的行为定义定义了拥有类对事件发生的反应能力。
您的示例只定义了类的属性,但没有定义类实例接受事件的能力。

一个有用的解释。但我仍然更喜欢简单的作为我的接受答案。谢谢! - Moses Aprico

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接