可能重复:
为什么要使用 getter 和 setter?
在我看来,编写访问器和修改器方法很麻烦,尤其是在处理非常简单的属性时。我为什么要费心使用它们?
可能重复:
为什么要使用 getter 和 setter?
在我看来,编写访问器和修改器方法很麻烦,尤其是在处理非常简单的属性时。我为什么要费心使用它们?
答案主要取决于您编写代码的目的是什么,以及如果您独自工作,您对自己的信任程度:
friend
允许细粒度封装而无需使用 setter 和 getter 的指令(即使它鼓励耦合,所以这里有两种不同的思想流派)我不能谈论 C++ 语法负担,但在一般面向对象的术语中,您应该提供 getter 和 setter,因为其他类不知道您如何存储内部状态,包括直接存储哪些属性,这些属性是根据其他状态计算的并进一步转移到其他对象。与更广泛的世界就类如何存储状态进行合同公告将限制您将来可以进行的调整,通常会抑制优化并破坏您的代码,因为您要解决的问题变得更加细微。