您的位置:首页 > 运维架构

EA&UML日拱一卒-活动图::CallOperationAction(续)

2017-07-04 20:24 357 查看

UML中的每一种图,每一个符号都是对某种信息的表达,事先了解所要表达的信息非常有助于理解UML中的内容。今天继续昨天的话题,换一个角度说明CallOperationAction。

那么CallOperationAction需要表达那些信息呢?我们以Calculator::solveEquation为例说明。


代码大概是这样:


CalculatorPanel* panel = new CalculatorPanel;

double a = panel->getInput(PARA_A);


....


我们主要关注被涂成红色的代码行。它主要包括:


getInput:CalculatorPanel类的getInput方法

PARA_A:用于识别取得对象的系数索引值

panel:这个容易被忽略,它指向本次操作的对象,也就是前文中的宿主。

返回值:传递系数a的值。


CallOperationAction设定的过程其实就是指定上述信息的过程。下面逐项说明设定。


CalculatorPanel::getInput


通过属性对话框中【Call】属性页里的Behaviour项目来选择CalculatorPanel类的getInput方法


panel对象和系数索引值PARA_A


这 两个都是操作的参数,可以通过InputPin传递给CallOperationAction。当然可以逐个定义然后连接数据流。但是EA提供了更方便的 方法:按下【Call】属性页里的【Synchronize with Parameters】将CalculatorPanel::getInput方法的参数同步到CallOperationAction中来,自动生成 InputPin。引脚的内容可以有数据流提供(比如panel),也可以直接指定(比如PARA_A)。


返回值


按下【Call】属性页里的【Add】按钮,在出现的对话框中可以生成新的OutputPin。不知道为什么,EA没有根据操作的返回值自动生成输出引脚。


其他


EA在缺省的情况下不会表示动作的引脚,所以使用上下菜单并选择【Structural Elements】,在出现的对话框中选择显示所有引脚。


也可以按照意愿修改引脚的名称,调整引脚的位置。


经过这些步骤,我们就的到了调用CalculatorPanel类的getInput方法的CallOperationAction。






从图中可以看到接受panel对象,PARA_A值的引脚,输出系数值的引脚,以及表示在括号中的Calculator Panel::getInput方法。


以上就是今天的文章,欢迎推荐给您的朋友!

阅读更多更新文章,请扫描下面二维码,关注公众号【面向对象思考】

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