c++ - 为什么要使用 getter 来构造私有成员而不是公开它们?
问题描述
假设我有一个定义 Circle 对象的简单类:
class Circle {
public:
Circle(const double x): radius(x) { ; }
const double getRadius() const { return radius; }
private:
const double radius;
};
这似乎是一种常见的约定,并遵循数据隐藏的 OO 原则。我的问题是为什么要这样做? 做个radius
公众号不是更简单吗?对于可变成员,这显然是个坏主意,因为任何人都可以修改圆的半径,但由于它是常量,我认为没有必要将其设为私有。做这样的事情是否可以接受?:
class Circle {
public:
Circle(const double x): radius(x) { ; }
const double radius;
};
解决方案
推荐阅读
- node.js - 使用Vue js调用axios发布请求时出现CORS和网络错误
- java - Spring Boot 捕获 SSLHandshakeException
- flutter - 如何在颤动中获取地图的索引键?
- python - 如何使用 Beautifulsoup 或 Selenium 提取图像的标题和 src?
- c++ - 解析char数组并且不删除分隔符c ++
- reactjs - 无法让属性依赖注入在 React 项目中工作
- sql-server - 计划作业失败错误:[SQLSTATE 42000](错误 7344)
- r - Rstudio 查看器中的列号与实际的列号不匹配
- javascript - 使用数组索引重新排序后获取两个数组之间的状态
- google-cloud-platform - 谷歌云平台修复 SSH