假设我有一堂课Foo
,带有私有变量bar_
包含一些状态Foo
。如果有必要,我可以编写公共 get/set 方法bar_
。当然,我会尽可能避免这种情况以保持封装性。
假设我有这些获取/设置方法,每当我必须访问或修改bar_
在属于的方法内Foo
,我通常直接这样做bar_
,而不是使用我用来访问的 get/set 方法bar_
来自课堂之外。除了担心直接访问变量与调用方法的速度之外,我没有任何理由,但我怀疑如果 get/set 方法是内联定义的(它们确实如此),那么它应该不会产生影响。这有什么不同吗?做const
ness 在此发挥作用?
到目前为止,我还没有遇到任何问题,但我有一种挥之不去的感觉,我做错了。有什么令人信服的理由不这样做吗?有关于此的任何指导方针吗?
我知道这接近于异端邪说,但我hate获取/设置方法。Loathe他们。几乎从不写它们。
一般来说,一个类应该提供比直接简单地读取和修改内部状态变量更多的高级操作,或者它应该避开并像struct
it is.
即使我写一个,我也几乎不会使用它inside班上。它们的重点是您可以在不影响客户端的情况下更改事物的内部表示。在类内部,是你关心的内部表示!如果您想使用类内部自己的接口对类进行大量操作,那么您可能会遇到第二个类正在努力摆脱困境。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)