2015-10-21 71 views

回答

1

唯一的區別是,A::FOO將始終指一個非常具體的,不變的常數。 $a::FOO涉及哪個值取決於什麼$a,這可能會改變。這允許您在該子類中繼承子類A並覆蓋FOO。通常,$a::FOO允許更多的「鴨子式」編程風格,而不是硬編碼類名。因此,這根本不是一個壞主意。

覆蓋子類中的常量是否是一個絕妙的想法是一個不同的話題,但如果仔細應用它,它可以有其用途。

相關問題