主动课与被动课

Car*_*los 14 uml specifications class-diagram

在UML规范上层结构2.5(仍然是Beta,第203页)

可以通过将isActive设置为true来指定类作为活动(即,其每个实例都是活动对象).当isActive为false时,Class是被动的(即,它的每个实例都在某个其他对象的上下文中执行).

  • 我想知道是否有一个简单的例子说明应用它们中的每一个的差异?
  • 并详细阐述了这个概念?

Muh*_*ani 21

根据定义,

活动对象 在UML中,活动类以及活动对象存在于它们自己的操作线程中,并具有自己的地址空间.如果根据流程考虑执行或代码活动,则活动对象可以启动或控制该流程.换句话说,活动对象是顺序的并且执行某些操作:修改变量,更改程序行为等.在UML中,活动类和对象通过具有比被动对象更粗的边界来区分.

UML中的被动对象通常不具有修改或开始执行流的能力,因为它们必须等待另一个对象来调用它们.相反,被动对象通常用于存储信息,并且在许多情况下,该信息可以在多个其他对象之间共享.这可以允许同时访问被动对象,而不是顺序访问. 为了确保内部包含的数据具有高完整性,UML允许被动对象坚持按顺序访问它们; 如果两个线程试图调用相同的顺序被动对象,那么该对象可以延迟第二个线程,直到第一个线程完成它.

这里有一个有用的例子

  • @SafaEng - 很高兴帮忙:) (3认同)