0

关于使用 getter/setter 的受保护成员变量的问题引发了一场小争论。已经有很多关于 getter/setter 是否邪恶的问题,但是一个反对他们的特殊论点,是由两个比我声誉高得多的人提出的,让我印象深刻。

一个说getter/setter 使代码的脆弱性只降低了 0.01%,另一个说在一个可以做的地方添加 10 行代码会使代码脆弱

这与我之前读过、被教导、思考或经历过的大部分内容背道而驰。还有其他人同意/不同意这些评论吗?

4

1 回答 1

3

我知道它接近异端,但我讨厌 get/set 方法。讨厌他们。几乎从不写它们。

一般来说,一个类应该提供比直接简单地读取和修改内部状态变量更多的高级操作,或者它应该摆脱困境并像它的结构一样工作。

即使我要写一个,我也几乎不会在课堂上使用它。它们的全部意义在于您可以在不影响客户端的情况下更改事物的内部表示。在类内部,它是您关心的内部表示!如果你想在类中使用它自己的接口对类进行大量操作,那么你可能有第二个类在努力摆脱。

于 2010-10-15T20:34:18.330 回答