您的位置:首页 > 其它

EA&UML日拱一卒-活动图::CallBehaviorAction

2017-07-05 21:41 357 查看
我们用了两篇文章说明了CallOperationAction,本文接着这个感觉说明CallBehaviorAction。

首先还是看正式的说法,在《GB/T 28174.2-2011 统一建模语言(UML) 第2部分:上层结构》中是这样描述的:

调用行为动作(CallBehaviorAction)

CallBehaviorAction是一个动作,它直接调用一个行为,而不是调用一个行为特性而导致那个行为被调用。动作的参数值对调用的行为的参数值有效。如果调用是同步的,调用动作等待被调用行为结束且结果返回到输出引脚以后再结束;如果调用是异步的,调用动作不等待结果而直接返回。

这段文字有两点需要补充。一是行为特性而导致那个行为被调用,指的是通过调用操作触发方法,或者是通过信号触发行为的情况。二是蓝字部分,原文中没有,参考最新英文版增加上去了。

其他的部分应该比较好理解。

表示方法

以下是CallBehaviorAction在活动图中的表示。



注意右下角的小叉子。

设定方法

CallBehaviorAction的设定方法和前文讲过的CallOperationAction基本一致,这里只说明不同点。

Action类型选择CallBehavior。

CallBehaviorAction不是针对对象操作的,所以就没有用于传递操作对象的target引脚。

通 过属性对话框中的Call分类选择Behaivor的时候,虽然还是可以选择类的方法,但是只应该选择静态方法。除此之外,还可以选择 Activity,Interaction和StateMachine。Interaction在顺序图中讲过,Activity是目前正在进行的活动图 中的内容,而StateMachine会在后续文章中说明,敬请期待。

和CallOperationAction的区别

在《GB/T 28174.2-2011 统一建模语言(UML) 第2部分:上层结构》的描述中,CallBehavior的描述非常的不同,不大好理解,以下是作者独自总结的一家之言,仅供参考。

以C++举例:CallOperaitonAction调用的是类的非静态方法,操作或者是通过信号等方式触发对象的行为,而CallBehaviorAction则是调用类的静态方法或者是一般的函数。

以上就是今天的文章,欢迎推荐给您的朋友!
阅读更多更新文章,请扫描下面二维码,关注公众号【面向对象思考】!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  EA UML 活动图