一、封装

封装,顾名思义,就是将一些信息放在一起封存起来,不让别人访问
事实上,类的一大特点就是封装,封装有利于管理数据,以及记录操作数据的行为
代码事例:

class Class
{public:Class(int x):_x(x){}void setX(int x){_x = x;}int getX(){return _x;}private:int _x;
};

很显然,我们可以通过函数void setX(int x)来设置x的值,也可以通过函数int getX()来获取x的值,但不能直接获取或设置x的值,这就叫封装

int main()
{Class object = 1;object.setX(0);int y = object.getX();
}

代码事例:

class Class
{public:Class(int x):_x(x){}int _x;
};

这段代码似乎可以达到同样的效果:

int main()
{Class object = 1;object._x = 0;int y = object._x;
}

但这样的代码并不易管理,而且如果有多个变量需要计算,那么封装的优势就很明显了

本序列的文章:
C++类的使用(一)
C++类的使用(二)—— explicit构造与const成员变量赋值
C++类的使用(三)—— 封装
C++类的使用(四)—— 继承
C++类的使用(五)—— 多态
C++类的使用(六)—— 判断继承

C++类的使用(三)—— 封装相关推荐

  1. 【Python】Python语言学习:面向对象编程,类和对象,封装、继承和多态

    这一周Python语言学习,记录如下. 01 面向对象编OOP 1.1 为什么学习和应用OOP? 1 OOP适合更加复杂的需求分析和项目开发. 2 OOP具有更强大的封装能力. 3 OOP相比于面向过 ...

  2. Classes in JScript – Part III 类的继承与封装

    [原文地址]Classes in JScript – Part III: Class Hierarchy and Data Encapsulation [原文发表日期]Published Wednes ...

  3. 类的概念、成员函数的定义方式、类的访问控制和封装、类的大小、this指针

    文章目录 类的概念 struct class class和struct的区别是什么呢? 类中成员函数的两种定义方式 声明和定义都在类中 声明和定义分离 类的访问控制和封装 类的封装特性 类的大小 结构 ...

  4. C++类与对象之封装篇

    C++类与对象之封装篇 一 . 封装的意义 封装的意义一 封装的意义二 二 . struct和class的区别(访问权限) 三 . 成员属性一般设置为私有(权限) 一 . 封装的意义 封装是C++面向 ...

  5. 杨校老师课堂之Java类与对象、封装、构造方法

    杨校老师课堂之Java类与对象.封装.构造方法 本篇文章内容如下: 面向对象 类与对象 三大特征--封装 构造方法 教学目标 能够理解面向对象的思想 能够明确类与对象关系 能够掌握类的定义格式 能够掌 ...

  6. C++类和对象的封装

    C++类和对象的封装 C++面向对象的三大特性 例如 封装 封装的意义 示例1 示例代码 示例2 示例2代码 C++面向对象的三大特性 封装.继承.多态 C++认为万事万物都皆为对象,对象上有其属性和 ...

  7. C++ 类和对象(一):类的概念、类的访问控制和封装、类对象模型、this指针

    类的概念 类的访问控制和封装 类的对象模型 this指针 类的概念 在C++中,类可以说是最重要的东西,因为C++一开始的定位就是c with class,也正是因为引入了类,才让c++从c的面向过程 ...

  8. java设计一个立方体类box_实例1: 设计一个立方体类Box,定义三个属性,分别是长,宽,高。定义二个方法,分别计算并输出立方体的体积和表面积。_学小易找答案...

    [填空题]表达式 list(filter(lambda x:x>2, [0,1,2,3,0,0])) 的值为 _________ . [填空题]表达式 len(' 中国 '.encode('ut ...

  9. java反射获取实体类_java 反射获取类对象的三种方式

    Java反射经常用到的就是获取对象中的属性,那么Java获取类对象就是必不可少的啦! Java实体类: public class ReflexModel { private String code; ...

  10. JAVA创建一个Box类(长方体),在Box类中定义三个变量,分别表示长方体的长(length)、宽(width)和高(heigth)

    编程创建一个Box类(长方体),在Box类中定义三个变量,分别表示长方体的长(length).宽(width)和高(heigth),再定义一个方法void setBox(int l, int w, i ...

最新文章

  1. C++与MATLAB数组的存储结构
  2. 点(Dot)与像素(Pixel)的区别
  3. c++ class struct同名_如何把C++的源代码改写成C代码?而C改C++只需一步!
  4. Matlab 读取excel文件提示服务器出现意外情况或无法读取问题解决
  5. python OptionParser模块使用
  6. 安谋中国发布“玲珑”多媒体产品线,首款ISP处理器面世
  7. ExtAspNet v3.1.0
  8. 恶意软件利用Windows故障诊断平台传播
  9. ado.net mysql 转义_ADO.NET数据库查询
  10. 【安装包】WinSCP
  11. 三星5G先锋计划:0元起抢先换5G不是梦
  12. 低成本,高效率,更成熟的实时数据采集方案来了
  13. 处理:‘IplImage’ does not name a type; did you mean ‘image’?
  14. DWT文件怎么转换成html,dwg和dwt文件有什么区别?DWT又可以转换什么格式?-迅捷CAD转换器...
  15. [Azure - VM] 解决办法:无法通过SSH连接VM,解决错误:This service allows sftp connections only.
  16. Capture One 22 最新推出全景拼接功能
  17. linux 中vi 显示行号的设置
  18. 大数据进阶(二):数据可视化和分析工具推荐
  19. Wordpress网站备份
  20. ubuntu 下安装labelImg报错

热门文章

  1. 数据科学篇| Seaborn库的使用(四)
  2. linux mysql 指令无效_linux下安装mysql,mysql命令失效的原因
  3. 小马哥的 Java 项目实战学习笔记
  4. 想成为一名优秀的数据分析师,应该做些什么?
  5. 直播 | KDD 2021论文解读:基于协同对比学习的自监督异质图神经网络
  6. 直播 | 清华大学关健:利用自监督学习的开放端故事生成评价方法
  7. 做过这个NLP项目的面试通过率高达 90%!!
  8. 6个月达不到25.6万年薪AI工程师,进不了大厂全额退款
  9. 字符串的原样输入输出python_Python字符串输入输出简述
  10. python调换字符串顺序_python实现指定字符串交换