![]() |
1
5
实际上,在这种情况下,我认为最好不要提供直接的getter/setter组合。 我宁愿用以下方式来处理:
编辑
the other answer on considering to returning an unmodifiable
|
![]() |
2
6
|
![]() |
3
2
这是不正确的。
如果确实需要使状态可见,getter和setter是一个选项,但是 不一定 最合适的选择。在决定各种选择中哪种是最好的时,您需要考虑以下问题:
实现良好的getter和setter可以解决这些问题;例如,通过返回集合的副本,或不可修改的包装器,和/或通过复制集合参数。但是包装器方法也可以这样做,通常运行时开销较少。 另一个需要考虑的问题是,是否有性能要求使得有必要回避“最佳实践”设计原则,并故意使ADT“泄漏”。 |