後期静的バインディングについて
後期静的バインディングについて PHP のマニュアルを読みましたが、元のアドレスは http://cn2.php.net/manual/zh/ language.oop5.late です。 -static-bindings.php
4番目の例
<br /> <?php<br /> class A {<br /> public static function foo() {<br /> static::who();<br /> }<br /> <br /> public static function who() {<br /> echo __CLASS__."\n";<br /> }<br /> }<br /> <br /> class B extends A {<br /> public static function test() {<br /> A::foo();<br /> parent::foo();<br /> self::foo();<br /> }<br /> <br /> public static function who() {<br /> echo __CLASS__."\n";<br /> }<br /> }<br /> class C extends B {<br /> public static function who() {<br /> echo __CLASS__."\n";<br /> }<br /> }<br /> <br /> C::test();<br /> ?><br />
self::foo(); // 这个self实际上是C类。明白吗? C::test() C继承了B的test()方法