首页 新闻 会员 周边 捐助

php中继承之父类属性的问题?

0
[已解决问题] 解决于 2015-07-01 13:36

class A {

    public $name = '1111';

    function __construct() {
    $name = "2222";
    }

}

class B extends A{

    public function test()
    {
        $name='333';//我是想在这个方法里直接使用父类的$name,并且期望值是2222
    }
}

$b=new B();//实例化一下,不应该走了构造函数了吗
echo $b->name;//这里为什么输出的是1111呢,走了构造函数不应该是2222吗?

往边界的主页 往边界 | 初学一级 | 园豆:6
提问于:2015-06-28 13:52
< >
分享
最佳答案
0

调用属性要$this->name,直接$name是声明了局部变量。

往边界 | 初学一级 |园豆:6 | 2015-07-01 13:35
其他回答(2)
0

php不太清楚,但对象概念应该都差不多。

所以class B 应该是有自己隐式的构造函数的,只是方法内部默认什么都没有做。

所以name属性直接继承了父类的属性。 对象概念的继承应该是没有继承构造函数这一说法的吧。

司幸 | 园豆:319 (菜鸟二级) | 2015-06-29 01:52
0

我怎么记得PHP和Python和java一样,都需要显式调用父类构造函数:

class B extends A{

    public function __construct() {

        parent::__construct();

    }

傲慢与偏剑 | 园豆:381 (菜鸟二级) | 2015-06-29 09:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册