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

子类如何调用父类的属性方法。

子类调用父类的构造方法是:parent::方法名(),那么调用其他方法也是用parent关键字吗?那么属性呢?

正在回答

4 回答

子类继承父类的属性和方法,可以直接访问,或者$this->父类方法();$this->父类属性;

0 回复 有任何疑惑可以回复我~

<?php  

  

class A{  

    public $a1='a1';  

    protected $a2='a2';  

    function test(){  

           echo "hello!<hr/>";  

    }  

}  

class B extends A{//若A类和B类不在同一文件中 请包含后(include)再操作  

    public $a1='b1';  

    function test2(){  

            $this->test();  

              parent::test();//子类调用父类方法  

    }  

    function test()  

    {     

        echo $this->a1.',';  

        echo $this->a2.',';  

        echo "b2_test_hello<hr/>";  

    }  

}  

$a = new B();  

$a->test();//b1,a2,b2_test_hello  

$a->test2();//b1,a2,b2_test_hello//hello!  

  

?> 


0 回复 有任何疑惑可以回复我~

方法的调用:$this->方法名();如果子类中有该方法则调用的是子类中的方法,若没有则是调用父类中的。parent::则始终调用的是父类中的方法。变量的调用:$this->变量名;如果子类中有该变量则调用的是子类中的,若没有则调用的是父类中的

0 回复 有任何疑惑可以回复我~
#1

木木瑾儿 提问者

那请问可以用parent关键字去访问类中非静态属性吗
2016-04-10 回复 有任何疑惑可以回复我~
#2

木木瑾儿 提问者 回复 木木瑾儿 提问者

啊,是访问父类中非静态的属性
2016-04-10 回复 有任何疑惑可以回复我~
#3

木木瑾儿 提问者 回复 木木瑾儿 提问者

谢谢,我已经知道了。。$this访问非静态属性,parent和self只能访问静态属性
2016-04-10 回复 有任何疑惑可以回复我~
#4

MustSuccess 回复 木木瑾儿 提问者

不客气啊,我也是刚刚看到,不好意思。受教了
2016-07-24 回复 有任何疑惑可以回复我~
查看1条回复

parent::属性名

0 回复 有任何疑惑可以回复我~
#1

qq_不二_0

这样是不行的,除非是静态属性。
2016-04-10 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

子类如何调用父类的属性方法。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信