首页 > 其他分享 >Item22:将成员变量声明为private

Item22:将成员变量声明为private

时间:2024-04-07 16:35:41浏览次数:23  
标签:封装 变量 成员 private protected Item22 public

芝士wa
2024.4.7
参考资源:Effective C++中文版第三版 侯捷/译
索引号:主图B300 TP312C++/D60-3


成员变量不该是public的理由:

  • 如果成员变量不是public,客户唯一能访问对象的方法就是通过成员函数,这种做法提高了规范性和一致性
  • private可以实现只读,只写,读写的操作
  • 封装意义,public和protected都不能提供封装,当public或者protected成员变量被修改时,所有使用它的客户码都会被破坏,这将造成巨大的代价

  • 将成员变量声明为private
  • protected并不比public更具封装性

标签:封装,变量,成员,private,protected,Item22,public
From: https://www.cnblogs.com/cheese-wa/p/18119341

相关文章

  • 基于R、Python的Copula变量相关性分析及AI大模型应用
    在工程、水文和金融等各学科的研究中,总是会遇到很多变量,研究这些相互纠缠的变量间的相关关系是各学科的研究的重点。虽然皮尔逊相关、秩相关等相关系数提供了变量间相关关系的粗略结果,但这些系数都存在着无法克服的困难。例如,皮尔逊相关系数只能反映变量间的线性相关,而秩相关则......
  • EDA环境变量设置
    cadenceexportLANG=CexportCDS_Netlisting_Mode=AnalogexportCDS_LOG_PATH=$HOME/LOGexportCDS_LOAD_ENV=CWDexportMOZILLA_HOME=/usr/bin/firefoxexportCDS_AUTO_64BIT=ALLexportMMSIMHOME=$CADHOME/MMSIM151exportPATH=$PATH:$MMSIMHOME/bin:$MMSIMHOME/too......
  • Linux基础 环境变量 别名 快捷键 历史命令 命令提示符
    1.##重启网卡报错[root@localhost~]#systemctlrestartnetwork 2.[root@localhost~]#[]:为了将命令提示符内容,扩进去root:当前登录系统的用户是谁@:分隔符localhost:当前服务器的主机名~:当前所在的目录(~当前登录用户的家目录)#:用户身份(#代表超级用户$代表普通用户) 3......
  • 提取响应结果,生成全局变量:extract
    importastfromjsonpathimportjsonpathfromapi.tools.handle_attributeimportHandleAttr"""核心功能:鉴权参数依赖提取设置全局变量(设置类属性)"""classHandleExtract:"""思路:1、在excel中新增extract_data,用于存储提取数据的key以及提取......
  • 【三十五】【算法分析与设计】综合练习(2),22。 括号生成,77。 组合,494。 目标和,模拟树递
    22.括号生成数字n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合。示例1:输入:n=3输出:["((()))","(()())","(())()","()(())","()()()"]示例2:输入:n=1输出:["()"]提示:1<=n<=8【三十五】【算法分析与设计】综合练习(2),......
  • 【代码分享】基于最小二乘支持向量机(LSSVM)+自适应带宽核函数密度估计(ABKDE)的多变量回
    专题推荐:论文推荐,代码分享,视角(点击即可跳转)所有链接建议使用电脑端打开,手机端打开较慢 关注公X众X号:NewPowerSystem预测和优化理论分享新型电力系统预测和优化领域的理论研究成果,包括优秀论文、工程应用、仿真代码等文章阅读推荐和代ma获取链接:......
  • C语言自定义类型变量——枚举(enum)
    一.枚举的定义和声明字面意思,枚举就是一一列举,把可能的取值一一列举,在我们现实生活中有许多可以列举的事物,例如:一周七天,一年四季,性别,月份,三原色等等。当我们需要描述这些数据的时候就可以使用枚举了。其关键字为eunm.类似于结构体,联合体,定义一个枚举类型的基本形式如下:enum......
  • C语言自定义类型变量——联合体(union)
    前言:在之前的文章中我们介绍了C语言中自定义类型变量之一的结构体,本篇我们将介绍它的兄弟姐妹之一的联合体类型,何为联合体?如何声明?有什么特点?让我们一起揭开它神秘的面纱 一.何为联合体 ?1.1联合体我们知道,创建变量的过程本质上是在内存中为变量开辟一片内存空间的过程,......
  • Symfonos——借助PATH环境变量提权
    #简述本文通过对Vulnhub靶机——Symfonos的渗透学习关于Path环境变量提权的方法。#过程靶机:192.168.230.225攻击机:192.168.230.1281、老样子,对C段进行扫描得到靶机的IP地址2、再对目标IP进行详细的端口扫描,以防缺漏可以看到靶机开放了22、25、80、139、445端口。3、访问8......
  • Python 变量循环
    一、变量编程语言或脚本语言都涉及变量,在变量定义时都有一定的规则。Python变量定义规则如下:A.变量名:只能是"字母、数字和下划线"的任意组合。注:不能有空格和其他特殊字符B.变量名:不能以数字开头C.变量名:不能是关键字。如下:  and、as、assert、break、class、contin......