面向对象教程6.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象教程6,面向对象,面向对象程序设计,php面向对象教程,面向对象视频教程,java面向对象视频教程,c#面向对象教程,面向对象程序设计教程,java面向对象教程,java面向对象编程

第六章 状态图 5 .3 .1 概念与表示法 1、事件 从一般意义上讲,事件是指在时间和空间上可以定位并具有实际意义、值得注意的 所发生的事情。 在OO中,事件是对一个可观察的事情的规格说明,这种事情的发生可以引发状态的 转换。 事件可以分为多种: 1)信号事件 一个对象对一个信号实例(在不引起混淆的情况下,以下简称信号)的接 收,导致一个信号事件。 可在一个类的符号中加一个附件的信号栏,列出其能接收的信号。 把这样的事件的特征标记放由它所触发的转换上。 信号可以作为状态机中的状态转换上的动作被发送,或者 作为交互中的一个消息被发送。 可把信号指定为另一个信号的子类。这表示,子事件的出现触 发依赖它的任何转换,或依赖它的任何祖先的转换。 《signal》 若一个转换B 由abc触发,当abc 出现 abc 时,则触发该转换; 《signal》 若一个转换A 由xyz触发,当xyz 出现 xyz 时,则触发转换A ,并且触发转换B ; 利用信号间的继承关系可以对信号族进行建模,一是对一般的信号族进 行建模,二是对异常信号族进行建模。 在UML 中,异常发生是一种事件,可以用信号对其建模。异常事件可以 附加在操作的说明中,更显示的方式是建立图形化的模型。 对对一个信号族的建模主要是说明一个对象可能接收的各种信号;而 对异常建模主要是说明一个对象可能产生的各种异常。 对异常建模,要遵循如下的策略: 对异常建模,要遵循如下的策略: 1)考虑每个类和接口以及这些元素的每个操作正常情况下发生的事情。 然后考虑会出错的事情并把它们建模为对象之间的信号。 2)把这些信号安排在一个层次结构中。提升一般的异常,降低特殊的异 常,必要时引入中间异常。 3)对于每个操作,描述可能出现的异常信号。可以显式地表示(通过显 示从操作到它的信号的send依赖关系),也可以通过顺序图来说明各种脚 上图是对异常的一个层次结构建模,这些异常是由容器类(如模板类Set)的标准 产生的。这个层次结构以抽象信号Error为根,它包括3种特殊错误: Underflow。操作add可能引发信号Duplicate和Overflow,操作remove仅引 2) 调用事件 对操作的调用的接收(这样的操作由接收事件的对象实现) 调用事件一般来说是同步的 3 )时间事件 在指定事件(经常是当前状态的入口)后,经过了一定的时间或到了 指定日期/ 时间,导致一个时间事件。时间经历事件能用后跟有计算时间量 的表达式的关键词“after”表示,比如“after (5 秒)”或者”after (从状态 A退出后经历了10秒)” 。如果没指明时间起始点,那么从进入当前状态开始 计时。使用关键字at 来指出在某个绝对时间点上发生的时间事件。例 时间事件at(1 Jan 2005, 12:00 UT)指出该事件发生在格林尼治时间 中午12点。 4)改变事件(条件变为真事件) 用布尔表达式描述的指派条件变为真,就导致了一个改变事件。无论表 达式的值何时由假变成真,事件都发生。与改变事件关联的布尔表达式的值 变成真时事件发生一次,即使之后布尔表达式的值变为假,产生的事件仍将 保持,直到它被处理为止。 用后有跟布尔表达式的关键词“when”表示变为真的条件,比如 when altitude 1000) 可以把其看作是连续测试条件,直 通常事件后面还跟有一个监护条件(布尔表达式)。当事件发生后,还要 检验其监护条件,如果监护条件为假,则该事件不触发转换。 可以按如下的格式定义事件: 事件名 ‘(‘用逗号分隔的参数列表‘)’ 参数的格式如下: 参数名 ‘:’ 类型表达式 参数值由监护条件和动作表达式使用. 2、状态 状态是一个对象的生命期的一个阶段,在该阶段中该对象要满足一些特定的条 件、执行特定的活动或等待某个(些)事件。 在概念上,对象要在一个状态内维持一段时间。也允许

文档评论(0)

mydoc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档