0
点赞
收藏
分享

微信扫一扫

EA&UML日拱一卒-活动图::ReadSelfAction和ReadStructuralFeatureAction


上一篇文章中介绍了AcceptCallAction和ReplyAction两个动作。今天介绍另外两个动作:ReadSelfAction和ReadStructualFeatureAction。

首先介绍《GB/T 28174.2-2011 统一建模语言(UML) 第2部分:上层结构》中对这两个动作的描述。为了更容易理解,内容稍作修改。

读自身动作(ReadSelfAction)


ReadSelfAction 是一个动作,该动作读取动作的宿主对象。每个动作最终都是某个行为的一部分。行为按照一个类目的规范,以某种方式被附属到一个方法的实体上,当行为执行 时,该动作在类目的某一个指定的宿主对象的语境中起作用。ReadSelfAction取得这个宿主对象,将它放到输出引脚上。

读结构性特征动作(ReadStructuralFeatureAction)

ReadStructuralFeatureAction是一个获取结性特征值的动作。

它有一个输入引脚,用于指定输入对象。当输入对象被指定以后,该对象的结构性特性的值被放置在动作的输出引脚上。输出引脚的类型,有序性,多重性都应与结构性特征相适合。

示例


继续使用解一元二次方程的例子。首先看类图。


EA&UML日拱一卒-活动图::ReadSelfAction和ReadStructuralFeatureAction_引脚

CalculateCoordinator 管理着Calculator和CalculatorPanel的实例,在calculateMain方法中首先调用CalculatorPanel的 getInput方法取得一元二次方程的a,b,c三个系数,然后调用Calculator的solveEquation方法解方程。今天首先索命取得 calculator对象和panel对象的方法。

准备工作

  1. 创建名称为CalculateCoordinator::calcuateMain的活动图
  2. 增加初始节点
  3. 增加AcceptCallAction并指定Trigger为CalcuateCoordinator.calculateMain。具体步骤请参照上一篇文章。
  4. EA&UML日拱一卒-活动图::ReadSelfAction和ReadStructuralFeatureAction_EA_02



增加ReadSelfAction,ReadStructuralFeatureAction

从工具栏拖动Action图标到流程图,选择Action类型为ReadSelf

指定Action名称为coordinator

右键打开ReadSelfAction的上下菜单并选择【Structural Elements】,在出现的对话框中选择result引脚后调整位置

用控制流连接AcceptCallAction和ReadSelfAction

从工具栏拖动Action图标到流程图,选择Action类型为ReadStructuralFeature

指定Action名称为CalculateCoordinator

修改名称为result的输出引脚,指定名称为calculator,选择类型为Calculator

增加一个名称为panel,类型为CalculatorPanel的输出引脚。

右键打开ReadStructuralFeatureAction的上下菜单并选择【Structural Elements】,在出现的对话框中选择表示所有引脚后调整位置。

连接ReadSelfAction的输出引脚到ReadStructuralAction的输入引脚object.


EA&UML日拱一卒-活动图::ReadSelfAction和ReadStructuralFeatureAction_流程图_03

解说

ReadSelfAction的功能相当于C++中的this指针!

ReadStructuralFeatureAction的功能其实就是输入对象,输出对象的数据成员!









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



EA&UML日拱一卒-活动图::ReadSelfAction和ReadStructuralFeatureAction_引脚_04



举报

相关推荐

0 条评论