uml状态图自转移和内部转移的区别

  1. 自转移:

建模时对象收到一个事件,该事件不会改变对象的状态,却会导致状态的中断,这种事件被称为自转移,它打断当前状态下的所有活动, 使用对象退出当前状态,然后又返回该状态,自转移标记使用一种弯曲的开放箭头,指向状态本身。

自转移在作用时首先将当前状态下正在执行的动作全部中止,然后执行该状态的出口动作,接着执行引起转移事件的相关动作。

 

例子:




2内部转移:


在建模时,有时会在不离开一个状态的情况下处理一些事情,如图书馆系统中管理员可以对借阅者信息进行查询,在系 统列出借阅信息时还可以对其进行修改,此时并没有离开信息列表状态。这种情况被称为内部转移。

内部转移只有源状态而没有目标状态,转移激发的结果并不改变状态本身,如果一个内部转移带有动作,动作也要被执 行,但由于没有状态改变发生,因此不需要执行入口动作和出口动作。

 

例子:


3.总结

内部转移和自转移不同,虽然两者都不改变状态本身,但有着本质的区别。自转移会触发入口动作和出口动作,而内部转移却不会。


评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值