目录
一.核心揭秘:加号(+)代表什么?
二.知识扩展:类图中的四大“神秘符号”
三.进阶补充:那些容易被忽略的格式细节
总结
在面向对象设计和软件工程中,UML类图是我们最常打交道的“图纸”。很多初学者在看类图时,往往会被类名下方那一堆密密麻麻的符号搞得晕头转向。
比如最常见的加号(
+),它到底代表什么?除了加号,那些减号、井号又是什么暗号?今天,我们就来彻底搞懂UML类图中的这些基础却至关重要的符号规范。
一.核心揭秘:加号(+)代表什么?
在UML类图中,属性和方法前面的符号代表的是可见性(Visibility),也就是我们常说的访问权限。
加号(
+)代表该成员是“公有的”(Public)。这意味着,被
+标记的属性或方法,对所有类都是可见的。在系统的任何地方,你都可以直接访问或调用它,没有任何限制。它是类对外提供服务的“窗口”。
二.知识扩展:类图中的四大“神秘符号”
除了加号,UML标准中还定义了另外三个核心符号,它们共同构成了类的封装边界。我们可以用一个表格来清晰对比:
符号 英文关键字 中文含义 访问规则说明 + Public 公有 对所有类可见,全局可访问。 - Private 私有 仅限当前类内部访问,外部无法直接获取。 # Protected 受保护 对当前类及其子类可见(继承链中可访问)。 ~ Package 包级私有 仅对同一个包(Package)内的类可见。 举个具体的代码映射例子:
如果你在类图中看到如下定义:
+ getName(): String:表示getName是一个公共方法,外部可以随意调用。- password: String:表示password是私有属性,外部无法直接触碰,保证了数据的安全性。
三.进阶补充:那些容易被忽略的格式细节
看懂了访问权限符号,其实只掌握了类图的一半。为了更专业地阅读和绘制类图,你还需要了解以下两个扩展知识点:
1. 静态与抽象的特殊标记
在类图中,除了+ - # ~,我们还会遇到下划线和斜体,它们代表了成员的特殊属性:
- 下划线(Underline):代表Static(静态)。如果一个属性或方法带有下划线,说明它是属于类本身的,而不是属于某个对象的。
- 斜体(Italic):代表Abstract(抽象)。如果类名是斜体,说明它是抽象类;如果方法是斜体,说明它是抽象方法(通常对应Java中的
abstract关键字)。2. 属性与方法的标准书写格式
一个规范的类图成员描述,通常遵循以下语法结构:
- 属性格式:
可见性 属性名 : 类型 = 默认值
- 例如:
- age : int = 0- 方法格式:
可见性 方法名(参数名 : 参数类型) : 返回类型
- 例如:
+ setAge(newAge : int) : void
总结
UML类图其实就是面向对象代码的“可视化翻译”。
- 看到
+,你就知道这是对外公开的接口;- 看到
-,你就知道这是类内部的私密数据;- 看到
#,你就知道这是留给子类继承的“遗产”。掌握这些基础符号,不仅能让你在看开源项目文档时游刃有余,也能帮助你在设计系统时,更清晰地规划类的封装与边界。希望这篇内容能帮你扫清UML学习的第一个障碍!
以上就是本篇文章的全部内容,喜欢的话可以留个免费的关注呦~~~