在PHP中访问父属性和重写方法

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了在PHP中访问父属性和重写方法脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下父母和子课程:
abstract class ParentObj {
    PRivate $data;
    public function __construct(){
        $this->data = array(1,2,3);
        var_dump($this->data);

        $this->;method();
    }
    public function method(){
        echo "ParentObj::method()";
    }
}
class ChildObj extends ParentObj {
    public function __construct(){
        parent::__construct();
        VAR_dump($this->data);
    }
    public function method(){
        echo "ChildObj::method()";
    }
}

预期产量:

array(1,3)
ChildObj::method()
array(1,3)

实际输出

array(1,3)
ParentObj::method()
NULL

问题是,子对象无法访问数据属性,父对象拒绝调用子进程中的重写方法.

我做错了什么,或者有没有任何想法?

编辑:我应该澄清我将ChildObj实例化为$child = new ChildObj()

您已将数据声明为私有,因此ChildObj将无法访问它 – 您需要将其保护为:
protected $data;

我的PHP(5.2.8)打印ChildObj :: method() – 你运行的是旧版本吗?

脚本宝典总结

以上是脚本宝典为你收集整理的在PHP中访问父属性和重写方法全部内容,希望文章能够帮你解决在PHP中访问父属性和重写方法所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。