大白话解释class的公有和私有

发布时间:2026/7/17 12:25:44

大白话解释class的公有和私有
1. 大白话比喻公有Public相当于你的微信头像和昵称。谁都能看随便点进去就能访问改了大家也都知道。私有Private相当于你的银行卡密码。只有你自己类内部的方法知道别人从外面想直接看或者改门儿都没有报错。2. 语法怎么写记住#这个符号在 JS 里私有的标志就是#号不加#默认全都是公有的。class BankAccount { // 公有属性外面随便看 publicName 张三的账户; // 私有属性加 #外面绝对看不到 #balance 1000; // 私有方法加 #内部工具函数外面调不动 #reduceFee() { console.log(内部扣手续费逻辑); } // 公有的方法专门用来操作私有密码 getMoney(amount) { if (amount this.#balance) { this.#balance - amount; this.#reduceFee(); // 内部可以调用私有方法 return 取款成功; } return 余额不足; } // 公有的查看余额方法只能看不能改 checkBalance() { return this.#balance; } } let myAccount new BankAccount(); // 公有随便访问 console.log(myAccount.publicName); // 输出张三的账户 ✅ // 私有强行访问直接报语法错误 console.log(myAccount.#balance); // ❌ 报错Private field #balance must be declared in an enclosing class console.log(myAccount.#reduceFee());// ❌ 报错外面调不动3. 继承儿子和爹的关系这里有一个重要的坑要记住私有属性亲爹不传儿子就算是儿子子类继承了爹父类儿子也绝对看不到爹的#私有属性和方法。爹藏起来的密码亲儿子也不能直接碰。class Son extends BankAccount { test() { console.log(this.#balance); // ❌ 报错儿子也看不到爹的私有密码 } }4. 补充一个老古董知识点面试常问在#出现之前老一辈程序员习惯用_下划线比如_balance来表示“这是私有的别动我”。注意_balance其实是假的私有它只是程序员的“君子协定”我加了下划线提醒你别碰但你非要myAccount._balance 999代码照样能跑拦不住你。而#balance是真正的铁锁JS 引擎从底层就不让你访问谁来了都不好使。总结一句顺口溜不加#是公有人人都能摸一摸加上#是私有亲儿子来也发抖下划线是假把式真锁还得靠#头。现在你知道了权限下一个问题肯定是那我为什么要费劲搞私有呢最大的好处就是防止外部乱改。比如余额只能是正数如果全部公开外面来个account.balance -1000就乱套了但做成私有逼着外部只能通过你提

相关新闻

集团企业人事管理数字化选型:从协同、智能到管控的三维评估指南

集团企业人事管理数字化选型:从协同、智能到管控的三维评估指南

2026/7/17 12:19:41

在企业数字化转型从单点工具走向体系化融合的阶段,人力资源管理的升级早已突破考勤、薪资线上化的基础范畴。传统分散式管理带来的数据孤岛、流程割裂、集团管控缺位等痛点持续放大,人事管理软件成为企业打通人力全链路、激活组织效能的核心载体。对于中…

重温传奇2:用OpenMir2在10分钟内搭建你的专属游戏服务器

重温传奇2:用OpenMir2在10分钟内搭建你的专属游戏服务器

2026/7/17 12:22:04

重温传奇2:用OpenMir2在10分钟内搭建你的专属游戏服务器 【免费下载链接】OpenMir2 Legend of Mir 2 Game server 项目地址: https://gitcode.com/gh_mirrors/op/OpenMir2 还记得那个在网吧通宵刷怪、爆装备的热血年代吗?传奇2这款经典游戏承载了…

HarmonyOS7特性解读

HarmonyOS7特性解读

2026/7/8 14:47:54

HarmonyOS 7(API 26)是鸿蒙生态的重要迭代版本,围绕智能化、空间化、全场景、媒体、多窗、安全六大方向带来多项创新能力与技术升级,同步在性能、通信、设计语言方面实现进化。 智能化空间化全场景协同媒体增强多窗形态安全防护性…

6个积极影响,解锁创新密码

6个积极影响,解锁创新密码

2026/7/17 12:21:29

1960年,企业的平均存续周期约为60年,而如今这一数字仅剩下18年左右。新兴高速成长的初创企业正不断取代老牌传统企业,在这样的行业大背景下,每家企业都应当将创新管理落地并实现常态化运营,本文将对此展开详细阐述。 持…

115proxy-for-Kodi:构建个人云端媒体中心的完整技术指南

115proxy-for-Kodi:构建个人云端媒体中心的完整技术指南

2026/7/17 12:21:29

115proxy-for-Kodi:构建个人云端媒体中心的完整技术指南 【免费下载链接】115proxy-for-kodi 115原码播放服务Kodi插件 项目地址: https://gitcode.com/gh_mirrors/11/115proxy-for-kodi 在数字化媒体消费时代,用户面临着一个普遍困境&#xff1a…

PDF补丁丁终极指南:告别PDF乱码,实现完美字体嵌入与文档处理

PDF补丁丁终极指南:告别PDF乱码,实现完美字体嵌入与文档处理

2026/7/17 12:21:29

PDF补丁丁终极指南:告别PDF乱码,实现完美字体嵌入与文档处理 【免费下载链接】PDFPatcher PDF补丁丁——PDF工具箱,可以编辑书签、剪裁旋转页面、解除限制、提取或合并文档,探查文档结构,提取图片、转成图片等等 项目…

radiaTest门禁测试标准:确保代码质量的80%覆盖率要求

radiaTest门禁测试标准:确保代码质量的80%覆盖率要求

2026/7/17 12:21:29

radiaTest门禁测试标准:确保代码质量的80%覆盖率要求 【免费下载链接】radiaTest Test Management Platform 项目地址: https://gitcode.com/openeuler/radiaTest 前往项目官网免费下载:https://ar.openeuler.org/ar/ radiaTest作为openEuler生态…

CANN/Ascend C bfloat16精度转换

CANN/Ascend C bfloat16精度转换

2026/7/17 12:21:29

__float22bfloat162_rna_sat 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: htt…

揭秘danmu核心架构:抽象类设计如何实现多平台弹幕无缝对接

揭秘danmu核心架构:抽象类设计如何实现多平台弹幕无缝对接

2026/7/17 12:11:28

揭秘danmu核心架构:抽象类设计如何实现多平台弹幕无缝对接 【免费下载链接】danmu Python 弹幕包 A live danmu package for python 项目地址: https://gitcode.com/gh_mirrors/da/danmu 想要在Python中轻松获取斗鱼、Bilibili、熊猫TV等各大直播平台的弹幕数…

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

2026/7/17 10:50:47

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator作为Unity游戏社区中最成熟的文本翻译解决方…

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

2026/7/16 14:29:31

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持 【免费下载链接】raspberrypi-kernel It provides openEuler kernel source for Raspberry Pi 项目地址: https://gitcode.com/openeuler/raspberrypi-kernel 前往项目官网免费下载&…

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

2026/7/16 14:18:17

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧 【免费下载链接】integration-test The repo contains test suits for system integration test 项目地址: https://gitcode.com/openeuler/integration-test 前往项目官网免费下载:…

Cursor终端插件生态避坑指南:23个实测低效插件黑名单,附3个自研轻量替代方案

Cursor终端插件生态避坑指南:23个实测低效插件黑名单,附3个自研轻量替代方案

2026/7/17 0:00:57

更多请点击: https://intelliparadigm.com 第一章:Cursor终端插件生态避坑指南概览 Cursor 作为基于 VS Code 内核构建的 AI 原生编辑器,其终端插件生态虽活跃,但存在兼容性断层、权限策略突变与调试链路断裂等典型风险。开发者常…

ChatGPT写作提示词效率革命:单条提示词响应质量提升3.8倍的关键变量(附可复用提示词矩阵表)

ChatGPT写作提示词效率革命:单条提示词响应质量提升3.8倍的关键变量(附可复用提示词矩阵表)

2026/7/17 0:00:57

更多请点击: https://codechina.net 第一章:ChatGPT写作提示词效率革命:单条提示词响应质量提升3.8倍的关键变量(附可复用提示词矩阵表) 提示词工程已从经验试错迈入变量驱动的科学阶段。实证研究表明,影响…

DeepSeek V4替换Codex底座模型的实践与优化

DeepSeek V4替换Codex底座模型的实践与优化

2026/7/17 0:00:57

1. 为什么选择用DeepSeek V4替换Codex的底座模型去年我在开发一个智能代码补全工具时,发现Codex的默认底座模型在复杂业务逻辑场景下表现不尽如人意。经过多次测试对比,DeepSeek V4在以下几个关键指标上展现出明显优势:代码补全准确率&#x…