一文搞懂UML类图:从“+”号看类的访问权限与规范
目录一.核心揭秘加号代表什么二.知识扩展类图中的四大“神秘符号”三.进阶补充那些容易被忽略的格式细节总结在面向对象设计和软件工程中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学习的第一个障碍以上就是本篇文章的全部内容喜欢的话可以留个免费的关注呦~~~