这是一个相当基本的 OO 问题,但一直困扰着我一段时间。
我倾向于避免对我的字段和方法使用“私有(private)”可见性修饰符,而倾向于 protected
.
这是因为,一般来说,我认为隐藏基类和子类之间的实现没有任何用处,除非我想为我的类的扩展设置特定的指导方针(即在框架中)。在大多数情况下,我认为试图限制我或其他用户扩展我的类(class)的方式是没有好处的。
但是,对于大多数人来说,private
在定义非公共(public)字段/方法时,修饰符通常是默认选择。
那么,您能否列出 private
的用例? ?总是使用私有(private)有一个主要原因吗?还是您也认为它被过度使用了?
最佳答案
有一些共识认为应该prefer composition over inheritance在面向对象。这有几个原因(如果您有兴趣,请谷歌),但主要部分是:
https://stackoverflow.com/questions/4913025/