本文继续讨论消息属性对话框,今天的焦点是迭代表达式。就是下图中红色和蓝色的部分。

执行条件
上图中红框中的部分用于指定消息发送的条件,这个条件可以是伪代码或是真正的编程语言,UML不描述其格式。
是否迭代
上图中蓝框中的部分用于指定消息是单发的还是一个消息序列。
应用实例
在图形编辑软件中,经常要处理拖动操作,这个拖动操作可以解释为一个左键按下事件+若干鼠标移动事件+鼠标释放事件。时序图表达如下:

*[mouse position changed]就是迭代表达式,语义为当鼠标位置变化时会发送mouseMoveEvent消息,且这种情况会多次发生。作为追加信息,我们规定要以鼠标没有释放为前提。
这时【Sequence Expression】的设定如下:

条件执行
如果【Is Iteration】没有被选中,就表示该消息只在条件满足时发送,否则什么也不做。这里就不举例了。
如果阅读本文能给您带来些许收获,欢迎分享给更多的朋友!
阅读更多新文章,请扫描下面二维码,关注公众号【面向对象思考】
