2015-10-21 29 views

回答

1

唯一的区别是,A::FOO将始终指一个非常具体的,不变的常数。 $a::FOO涉及哪个值取决于什么$a,这可能会改变。这允许您在该子类中继承子类A并覆盖FOO。通常,$a::FOO允许更多的“鸭子式”编程风格,而不是硬编码类名。因此,这根本不是一个坏主意。

覆盖子类中的常量是否是一个绝妙的想法是一个不同的话题,但如果仔细应用它,它可以有其用途。

相关问题