这篇文章主要介绍“ReadSelfAction和ReadStructuralFeatureAction是什么”,在日常操作中,相信很多人在ReadSelfAction和ReadStructuralFeatureAction是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ReadSelfAction和ReadStructuralFeatureAction是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
读自身动作(ReadSelfAction)
ReadSelfAction是一个动作,该动作读取动作的宿主对象。每个动作最终都是某个行为的一部分。行为按照一个类目的规范,以某种方式被附属到一个方法的实体上,当行为执行时,该动作在类目的某一个指定的宿主对象的语境中起作用。ReadSelfAction取得这个宿主对象,将它放到输出引脚上。
读结构性特征动作(ReadStructuralFeatureAction)
ReadStructuralFeatureAction是一个获取结性特征值的动作。
它有一个输入引脚,用于指定输入对象。当输入对象被指定以后,该对象的结构性特性的值被放置在动作的输出引脚上。输出引脚的类型,有序性,多重性都应与结构性特征相适合。
示例
继续使用解一元二次方程的例子。首先看类图。
CalculateCoordinator管理着Calculator和CalculatorPanel的实例,在calculateMain方法中首先调用CalculatorPanel的getInput方法取得一元二次方程的a,b,c三个系数,然后调用Calculator的solveEquation方法解方程。今天首先索命取得calculator对象和panel对象的方法。
准备工作
创建名称为CalculateCoordinator::calcuateMain的活动图
增加初始节点
增加AcceptCallAction并指定Trigger为CalcuateCoordinator.calculateMain。具体步骤请参照上一篇文章。
增加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.
解说
ReadSelfAction是一个动作,该动作读取CalculateCoordinator::calculateMain的宿主对象。当行为执行时,该动作在CalculateCoordinator类的某一个宿主对象的语境中起作用。ReadSelfAction取得这个宿主对象,将它放到输出引脚上。看懂没?ReadSelfAction的功能相当于C++中的this指针!
本例中ReadStructuralFeatureAction的输入引脚指定了ReadSelfAction取得的CalculateCoordinator的一个实例,这时该对象的结构性特性的值calculator:Calculator和panel:CalculateorPanel被放置在该动作的输出引脚上。输出引脚的类型,有序性,多重性都应与结构性特征相适合。还是以C++举例,ReadStructuralFeatureAction的功能其实就是输入对象,输出对象的数据成员!
到此,关于“ReadSelfAction和ReadStructuralFeatureAction是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。