如何在UML中指定类的可见性 (Specifying Visibility for Classes in UML)

如何在UML中指定类的可见性 (specifying Visibility for Class?)

UML 类符号

类表示封装状态(属性)和行为(操作)的概念。每个属性都有一个类型。每个操作都有一个签名类名是唯一的必填信息

UML 类符号

封装 (encapsulation) 是数据隐藏的原则:对象隐藏其数据,不让外界看到并且只允许外部人员通过调用对象的方法来操作该数据。的
类的元素被封装在该类中的程度取决于元素的可见性级别。某属性或某物的可见性操作指定属于其他类的对象是否可以“看到”该属性或
操作。

UML支持以下四个层次的可见性:

类中属性和操作名称前的~, +, -# 和 – 符号表示属性和操作的可见性。

  • Package Visibility 包可见性(用波浪线[~] 表示)意味着属于包中的任何类的对象与给定类相同的包可以看到并使用给定类。
  • Public Visibility 公共可见性 [+] 意味着属于任何类的对象都可以使用给定的属性或操作。
  • Protected Visibility [#] 表示仅属于给定对象的子类的对象类(低于该类的任何级别)可以使用该属性或操作。
  • Private Visibility 私有可见性 [-] 意味着只有属于类本身的对象才能使用属性或操作。

下图显示了示例属性和操作的可见性修饰。

班级可见性

Unified Modeling Language (UML)