java – 在getter和setter上使用受保护的变量有什么好处吗?

前端之家收集整理的这篇文章主要介绍了java – 在getter和setter上使用受保护的变量有什么好处吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Java protected fields vs public getters7个
无视保护变量的事实是否方便,是否有任何实际需要保护的存在?

解决方法

即使你使用getter和setter(我个人会 – 我几乎总是将字段保密)这并不意味着受保护变得毫无意义……它只是意味着你可能会让getter和setter本身受到保护而不是变量.

如果您的问题实际上是关于受保护的可访问性是否有用,我会说 – 有一个只能访问子类的成员通常是有意义的.更重要的是,我有时会使用受超类调用的受保护抽象方法,但在层次结构之外无法访问.

例如,在模板方法模式中,您可能有一个公共方法可以进行一些设置,调用受保护的抽象方法,然后也可能做一些最终的工作.您不希望抽象方法是公共的,因为您希望确保执行开始/结束代码…并且您不希望强制显式地通过子类调用代码.

猜你在找的Java相关文章