Effective C++ 条款22:将成员变量声明成private

2021/7/3 17:21:11

本文主要是介绍Effective C++ 条款22:将成员变量声明成private,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

  • 程序员在调用对象的方法时不需要犹豫要不要打“()”,因为只有方法才是可见的,所以必须都打。
  • 用可见的成员方法对数据进行操作,可以控制访问属性。比如如果我只想读,就可以将函数设置成const,这样用户试图写就会出错。
  • 封装性,如果日后需要修改某一变量,或者替换。用户压根就不会知道这件事。

第三点非常重要,我们举个例子

class SpeedDataCollection {
 public:
  void addValue(int speed);		// 添加新的数据
  double averageSoFar() const;	// 计算平均速度
};

这里设计了一个收集汽车速度数据的类,其中有一个计算平均速度的方法。现在有两种方法实现,第一个是用一个成员变量保存。每次更新数据就更新这个成员变量的值。第二个是动态计算,只有当调用averageSoFar方法时才会计算。

两个方法其实都OK,如果内存够大就用第一种,不够就用第二种。

但如果我们第一种用的好好的,现在内存不够了要换第二种。此时如果第一种的成员变量是公有的问题就大了。因为我们需要修改所有用到这个成员变量的地方。但如果设置为私有,外界压根就不知道我们做了修改。这就是封装性的体现。



这篇关于Effective C++ 条款22:将成员变量声明成private的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程