小学生学C++编程语法知识(为什么 class 需要封装?)

发布时间:2026/11/15 7:54:30

小学生学C++编程语法知识(为什么 class 需要封装?) C面向对象核心为什么 class 需要封装同学们上节课我们学习了struct 和 class 的区别我们知道class默认private也就是自己的数据别人不能随便修改。那么问题来了为什么 C 要设计 private为什么不让所有变量都 public想改就改呢这就是今天要学习的核心封装Encapsulation一、先看一个没有封装的世界假设我们写一个学生类class Student { public: string name; int score; };使用Student s; s.name小明; s.score95;看起来很方便。但是问题来了如果有人写s.score-100;或者s.score1000;怎么办学生成绩应该0 ~ 100但是现在-100 1000都可以。程序不会报错。为什么因为score是public公开的。任何人都可以改。二、生活中的例子银行卡假设银行卡这样设计class BankCard { public: double money; };然后BankCard card; card.money1000000;任何人都可以card.money999999999;这显然不合理。银行账户余额不能让别人直接修改。所以真实世界设计银行卡外面只能存钱取钱查询余额但是内部余额必须保护。这就是封装三、什么是封装一句话把重要的数据隐藏起来只允许通过规定的方法访问。英文Encapsulation它包含两个动作1. 隐藏数据使用private2. 提供接口使用public例如class Student { private: int score; public: void setScore(int x) { scorex; } int getScore() { return score; } };现在score 藏起来了。外面不能s.score100;错误。必须s.setScore(100);四、private到底有什么作用我们来看class Student { private: int score; };private表示只有自己可以访问比如类里面void test() { score100; }可以。但是外面Student s; s.score100;不可以。可以想象private 是房间里面的保险箱。public 是房间门口的按钮。别人不能直接打开保险箱。只能按按钮。五、getter 和 setter 是什么很多同学第一次看到get set不知道是什么意思。其实非常简单getterget获取作用读取数据。例如int getScore() { return score; }意思把成绩告诉外面。setterset设置作用修改数据。例如void setScore(int x) { scorex; }意思修改成绩。所以函数作用getterget读取setterset修改六、为什么不直接访问要绕一圈有同学可能问老师s.score不是很方便吗为什么s.setScore(90);这么麻烦答案因为我们可以增加规则例如成绩必须0~100settervoid setScore(int x) { if(x0 x100) { scorex; } else { cout成绩错误endl; } }现在s.setScore(150);输出成绩错误程序安全了。七、封装最大的价值控制修改看两个程序没封装student.score-999;任何地方随便改。后果程序容易出错。有封装student.setScore(-999);进入if检查。错误被挡住。所以封装不是为了麻烦程序员。而是为了让程序更安全、更容易维护。八、封装和游戏角色的关系比如游戏英雄class Hero { private: int hp; public: void attack(); void heal(); };血量hp不能直接改。否则玩家hp999999游戏就坏了。所以只能攻击attack()回血heal()九、public、private、protected 三兄弟C 有三个权限1. public公开别人可以访问public: int age;像学校公告。2. private私有只有自己可以访问private: int password;像自己的密码。3. protected保护以后学习继承时使用。现在可以简单理解给自己的孩子使用。十、一个例子设计一个银行账户#includeiostream using namespace std; class Account { private: double money; public: Account() { money0; } void deposit(double x) { if(x0) { moneyx; } } double getMoney() { return money; } }; int main() { Account a; a.deposit(100); couta.getMoney(); return 0; }输出100注意外面不能a.money1000000;因为money 是私有的。十一、封装和结构体有什么关系回忆structstruct Student { int score; };默认public所以s.score100;可以。classclass Student { int score; };默认private所以不能直接访问。但是两者都可以封装。例如structstruct Student { private: int score; };也是合法的。十二、信奥竞赛需要学封装吗学习 class 的意义在于培养大型程序设计思想软件工程能力AI时代编程能力未来写游戏App人工智能项目封装非常重要。十三、本节课总结记住下面这句话封装就是把数据藏起来把操作方法留下来。关键词概念作用private保护数据public提供服务getter读取数据setter修改数据最终目标让对象自己管理自己而不是让外部随便破坏。
延伸阅读

更多相关文章

2026/11/12 14:21:25

Ubuntu 22.04 VMware共享文件夹挂载失败:vmhgfs-fuse完整解决方案

1. 问题场景与核心痛点如果你正在用VMware Workstation或Fusion跑Ubuntu 22.04,并且像我一样,习惯在虚拟机和宿主机之间设置一个共享文件夹来传文件、共享代码,那你大概率踩过这个坑:在Ubuntu的/mnt/hgfs目录下,那个你…

2026/11/11 16:35:50

智能体SDK开发指南:从核心能力到工程实践

这次我们来看一个面向开发者的智能体 SDK。这个项目的核心愿景很直接:让开发者能够像构建“活对话”一样,创作出具有动态交互能力的智能体。它不是另一个复杂的 AI 框架,而是试图通过一套精心设计的 SDK,将智能体的开发体验变得直…

2026/11/11 23:52:24

基于Docker Compose构建高可用Elasticsearch集群:从零到生产级部署指南

1. 引言随着微服务架构、云原生和可观测性理念的普及,Elasticsearch 作为一款分布式搜索和分析引擎,已经成为日志分析、全文检索、安全监控等场景的核心基础设施。然而,在生产环境中手把手搭建一个高可用的 Elasticsearch 集群并非易事&#…

2026/11/15 7:53:20

天水的电工证在那办了?上岗必备证件别再拖了

天水的电工证在那办了?上岗必备证件别再拖了 工地太忙根本没时间复习考试,这几乎是所有一线电工的真实写照。每天从早忙到晚,连吃饭都得赶时间,更别提抽空复习电工证考试了。可偏偏这个证又是 上岗必备…

2026/11/15 7:53:20

电工证升级换证官方回应来了,实操考试心里没底怕挂科怎么破?

电工证升级换证官方回应来了,实操考试心里没底怕挂科怎么破? 实操考试心里没底怕挂科,这事儿可不光你一个人愁。信阳浉河区的张师傅前几天就跟我聊,他刚拿到低压电工证,准备升级换证考高压电工,听说实操考试得动手操作,心里直打鼓。其实你不是一个人在…

2026/11/15 7:53:20

深圳沈工特种电刷电源证怎么转异地?真实经历告诉你怎么搞定

深圳沈工特种电刷电源证怎么转异地?真实经历告诉你怎么搞定 工地太忙根本没时间复习考试,这几乎是所有一线施工人员的真实写照,尤其是像深圳沈工特种电刷电源这类专业性较强的作业岗位,考试和证件办理流程复杂,很多人连考试时间都来不及安排。今天我就从…

2026/11/15 7:53:20

丽水特种工电工证怎么报名怕考不过白交培训费?这3点必须知道

丽水特种工电工证怎么报名怕考不过白交培训费?这3点必须知道 怕考不过白交培训费?丽水特种工电工证怎么报名?不少学员一上来就冲着报名,结果连考试内容都摸不着头脑,最后白白浪费几千块培训费。其实,特种作业操作证考前准备不充分,直接导致考试失败,…

2026/11/15 7:53:20

江西哪里可以买电工证保姆级教程:不怕被中介坑的全流程指南

江西哪里可以买电工证保姆级教程:不怕被中介坑的全流程指南 你是不是也在为“江西哪里可以买电工证”这个问题头疼?不知道去哪报名、怕被中介坑、怕花冤枉钱,这些都太正常了。作为从业多年的应急管理人员,我知道这种焦虑感。今天就给你一套 保姆级教程…

2026/11/15 7:48:20

罗源县电工证培训机构怎么选?全国通用证书别被坑了

罗源县电工证培训机构怎么选?全国通用证书别被坑了 你是不是也遇到过这种情况:想考电工证,但不知道该去哪家培训机构,怕被中介骗钱,怕拿不到全国通用的证书?现在市面上的培训机构鱼龙混杂,有的只收钱不办事,有的拿假证糊弄人,一不小心就白花了钱还耽…

2026/11/15 0:02:49

电工证考试口诉怎么准备值不值得考

电工证考试口诉怎么准备值不值得考 实操考试心里没底怕挂科,这是大多数准备考电工证的人心里最真实的感受。尤其是面对【电工证考试口诉】环节,很多人不知道该怎么准备,甚至担心自己说不好就被淘汰。其实,只要掌握方法, 值不值得考…

2026/11/15 0:02:49

桑植县考电工证千万别踩坑!报名全流程教你避坑

桑植县考电工证千万别踩坑!报名全流程教你避坑 你是不是也遇到过这种情况:想考个电工证,但不知道从哪儿下手,怕被中介坑,怕花冤枉钱,更怕考了证还不能用?别急,这正是你该看这篇文章的原因。在桑植县考电工证,确实有很多人被坑过,但只要你知道流程、…

2026/11/15 0:02:49

电工证考试口诉怎么准备值不值得考

电工证考试口诉怎么准备值不值得考 实操考试心里没底怕挂科,这是大多数准备考电工证的人心里最真实的感受。尤其是面对【电工证考试口诉】环节,很多人不知道该怎么准备,甚至担心自己说不好就被淘汰。其实,只要掌握方法, 值不值得考…

2026/11/15 0:02:49

桑植县考电工证千万别踩坑!报名全流程教你避坑

桑植县考电工证千万别踩坑!报名全流程教你避坑 你是不是也遇到过这种情况:想考个电工证,但不知道从哪儿下手,怕被中介坑,怕花冤枉钱,更怕考了证还不能用?别急,这正是你该看这篇文章的原因。在桑植县考电工证,确实有很多人被坑过,但只要你知道流程、…

2026/11/15 4:46:37

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/15 2:06:31

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑