UML基础与Rose建模实用教程(第三版)
上QQ阅读APP看书,第一时间看更新

1.1.4 消息和事件

当使用某一个系统的时候,用鼠标单击一个按钮之后,通常会显示相应的信息,以图书管理系统为例,单击“图书管理系统”界面中的某一个按钮时,会显示出当前的图书信息。那么当前的程序是如何运行的呢?

  • “图书管理系统”界面中的某一个按钮会把鼠标单击事件作为消息发送给相应的对象。
  • 对象接收到消息后进行响应,它把图书的相关信息提供给界面。
  • 界面将图书的相关信息显示出来,任务就完成了。

可以看得出,在这个过程中首先要触发一个事件,然后发送消息,那么消息是什么呢?所谓消息(Message)是指描述事件发生的信息,是对象间相互联系和相互作用的方式。一条消息主要由5部分组成:消息的发送对象、消息的接收对象、消息的传递方式、消息的内容(参数)、消息的返回。传入消息内容的目的有两个:一个是让接收请求的对象获取执行任务的相关信息;另一个是行为指令。

那么什么是事件呢?所谓事件通常是指一种由系统预先定义而由用户或系统发出的动作。事件作用于对象,对象识别事件并作出相应的响应。对象的方法集可以无限扩展,而事件的集合通常是固定的,用户不能随便定义新的事件。不过,现代高级程序设计语言中可以通过一些其他的技术在类中加入事件。通常大家所熟悉的一些事件,比如Click(用鼠标左键单击对象时发生的事件)、Load(当界面被加载到内存中时发生的事件)等。

对象通过对外提供的方法(Method)在系统中发挥自己的作用,当系统中的其他对象请求这个对象执行某个方法时,就向该对象发送一条消息,对象响应这个请求,完成指定的操作。程序的执行取决于事件发生的顺序,按消息产生的顺序来驱动程序的执行,不必预先确定消息产生的顺序。