我对类概念有疑问,当我们在php中扩展一个类并在该类(派生)中定义一个在基类中定义的相同属性时,它是否正确以及为什么?
答案 0 :(得分:3)
这取决于访问修饰符以及您想要实现的目标。
首先,如果你声明你的var private
,那么var只在类中被知道,它被声明。
如果您希望它可以在任何子课程中使用,而不是从外部提供,则应该是protected
。
任何其他var(从任何地方都可以公开)必须是public
。但由于数据封装,不建议使用public。不应使用公共变量,而应编写getter / setter。
至少,混合使用相同名称但不同访问修饰符的变量并不是一个好主意 - 这会导致代码难以理解/混淆。