预订演示
前页 后页

分类器和实例

某些类型的元素(如类)模型分类,提供抽象概念的规范。例如,建筑的建造可以用一组定义建筑类型的类来表示,如Bungalow、Miner's Cottage、Office块、Shop等。元素其它(如Objects)模型此类分类的实例,例如23 High Street Shop或45 Village Green Cottage 。实例元素代表运行时场景中的实际对象,基于分类器元素的规范。例如:

  • 一个物件元素表示一个叫Joe Smith的人,作为类元素定义的“ Person ”概念的一个具体实例; object呈现为显示分类器名称的矩形 - 如果您将object命名为 <ObjectName>:<ClassifierName> 或在本例中为Joe Smith : Person

    Showing an Object element and the UML Class element that it is classified by.
如果你开发一个Person类,它具有 Age、Name、Address 和 Sex 等属性以及名称和 GetName 等函数,那么当你从类派生一个object时,该object将承担所有Person类的行为和状态(以及从Person类的父元素继承的状态和行为,如果有的话)。

将实例与分类器关联极大地增加了模型在捕获对象的功能和责任以及它们在运行时的关联状态方面的描述能力。这是将您的模型从分析阶段相到详细设计阶段的有效方法。

注记

  • object是运行时分类器的一个实例,因此object的特征实际上是分类器的特征;在分类object的上下文菜单中,如果您选择“特征|属性”或“操作”菜单选项,特征窗口显示为分类器,而不是object
  • 类似地,如果你为序列图中的object设置了分类器,当你添加消息并显示信息的属性窗口时,'信息'下拉列表是从目标object的操作中提取的分类器,而不是来自object本身
    通过这种方式,您可以将序列图对象与类相关联,并将类的定义行为用于模型运行时的实际运行;相同的概念适用于状态流连接器的消息
  • 在属性窗口中,您还可以选择包括在目标object的分类器的继承层次结构中定义的消息

了解更多