我有一个界面说
Interface ICallback {
public void informFunction();
}
我有一堂课说:
Class Implementation implements ICallback {
public Implementation() {
new AnotherImplementation(this);
}
@override
public void informFunction() {
// do something
}
}
现在考虑一个类,其中类实现的实例作为接口传递并用于进行回调。
Class AnotherImplementation {
public ICallback mCallback;
public AnotherImplementation(ICallback callback) {
mCallback = callback;
}
public void testFunction() {
mCallback.informFunction(); // Callback
}
}
现在我想知道如何设计 UML 类图。最重要的是,我需要知道如何表示 AnotherImplementation :: testFunction() 类中将发生的回调功能。
您的代码如以下类图所示:
它代表了类之间的关系:
-
Implementation
实施ICallback
-
Implementation
依赖于取决于AnotherImplementation
(它在其构造函数中创建一个)
-
AnotherImplementation
has a ICallback
(名为 mCallback)
类图不代表方法功能。方法功能通过序列或协作图可视化。
在您的示例中,序列图为testFucntion()
很简单:
请注意,Implementation
类未显示在序列图中。发生这种情况是因为mCallback
成员被声明为ICallback
。它可以是任何实现ICallback
界面。
我认为更有趣的问题是如何可视化触发回调的方法。你没有提到哪种方法Implementation
称为testFunction()
of AnotherImplementation
,所以我猜这发生在构造函数内Implementation
。我为此构造函数创建了以下序列图:
在这里你可以看到:
-
Implementation
创造了AnotherImplementation
-
Implementation
调用testFunction
on AnotherImplementation
-
AnotherImplementation
调用informFunction
on Implementation
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)