news 2026/5/19 18:08:01

一文搞懂UML类图:从“+”号看类的访问权限与规范

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一文搞懂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学习的第一个障碍!

以上就是本篇文章的全部内容,喜欢的话可以留个免费的关注呦~~~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/20 7:28:22

开源情报聚合框架Sense:模块化OSINT自动化实战指南

1. 项目概述:一个为安全研究而生的开源情报聚合器如果你和我一样,长期混迹于网络安全、渗透测试或者开源情报(OSINT)的圈子,那你肯定对“信息过载”和“工具碎片化”这两个词深有体会。我们每天要面对的是海量的数据源…

作者头像 李华
网站建设 2026/5/19 11:44:45

Hearthstone-Script深度解析:从游戏自动化到架构演进的智能引擎

Hearthstone-Script深度解析:从游戏自动化到架构演进的智能引擎 【免费下载链接】Hearthstone-Script Hearthstone script(炉石传说脚本) 项目地址: https://gitcode.com/gh_mirrors/he/Hearthstone-Script 开篇故事:深夜三…

作者头像 李华
网站建设 2026/5/20 6:43:53

Windows缩略图预加载革命:告别文件夹卡顿的终极解决方案

Windows缩略图预加载革命:告别文件夹卡顿的终极解决方案 【免费下载链接】WinThumbsPreloader-V2 WinThumbsPreloader is a powerful open source tool for quickly preloading thumbnails in Windows Explorer. 项目地址: https://gitcode.com/gh_mirrors/wi/Win…

作者头像 李华
网站建设 2026/5/19 22:05:34

Windows HEIC缩略图终极解决方案:一键预览iPhone照片

Windows HEIC缩略图终极解决方案:一键预览iPhone照片 【免费下载链接】windows-heic-thumbnails Enable Windows Explorer to display thumbnails for HEIC/HEIF files 项目地址: https://gitcode.com/gh_mirrors/wi/windows-heic-thumbnails 你是否经常在Wi…

作者头像 李华
网站建设 2026/5/19 18:58:40

从CTFHUB SSRF题看PHP cURL的安全配置:如何避免成为内网突破口

从CTFHUB SSRF题看PHP cURL的安全配置:如何避免成为内网突破口 在Web开发和安全运维领域,服务器端请求伪造(SSRF)漏洞一直是高危风险点。最近在CTFHUB平台上的一道SSRF挑战题,意外暴露了许多开发者在使用PHP cURL函数时…

作者头像 李华