PHP& Java:将属性的可见性设置为私有,并通过派生类的过度杀手来访问它吗?

时间:2011-02-07 14:43:20

标签: java php inheritance private-members

那你觉得怎么样?

我的Java讲师说,应该始终将属性声明为私有,并且没有理由为什么应该以其他方式进行。我立即开始考虑继承,它会如何影响。

2 个答案:

答案 0 :(得分:2)

您的意思是声明字段是私有的吗?如果是这样,我同意你的讲师,虽然“没有理由”可能有点矫枉过正。非常偶然的原因使用非私有字段 - 例如在私有嵌套类中。

但是,是的,在一个简单的超类/子类关系中,我使用getter / setters而不是使字段受到保护。它将实现与类公开的 API 分开 - 甚至分离到它的子类。

答案 1 :(得分:0)

Private会阻止扩展原始类的类直接访问它。一般来说,如果您希望扩展原始类并希望继承类能够直接修改该特定类成员,那么我认为protected是声明变量的更好方法。