为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
千万里不及你 2019-03-09 01:19:19
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 重定义一遍,可我想知道不重定义有没有办法?谢谢!
查看完整描述

1 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

善用代码格式

<?php

class B
{
    static $s = 'B';
    
    public function m() {
        echo static::$s;
    }
}

class D extends B
{
    static $s = 'D';
}
// output: D
(new D)->m();
查看完整回答
反对 回复 2019-03-18
  • 1 回答
  • 0 关注
  • 436 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信