请问在基类方法中如何访问派生类的静态变量?

class B {
public static $s = 'B';
public function m() {
echo self::$s; // 'B'
// $this 实际指向 D 的实例,如何访问到 D::$s ?
}
}

class D extends B {
public static $s = 'D';
}

$d = new D();
$d->m();

当然我知道 D 类可以把 function m 重定义一遍,可我想知道不重定义有没有办法?谢谢!

千万里不及你
浏览 437回答 1
1回答

喵喵时光机

善用代码格式 <?php class B { static $s = 'B'; public function m() { echo static::$s; } } class D extends B { static $s = 'D'; } // output: D (new D)->m();
打开App,查看更多内容
随时随地看视频慕课网APP