洞察移动政务小程序助力政府数字化转型,保障数据安全和效率提升
771
2022-10-13
EA&UML日拱一卒-活动图::CallOperationAction(续)
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方法。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~