您好,欢迎访问一九零五行业门户网

一个关于父类方法访问子类对象中的公有属性的有关问题

一个关于父类方法访问子类对象中的公有属性的问题
如图所示:
------解决思路----------------------
private $_name = '韩'; 是父类私有属性,所以子类不能修改其值。
showname是父类方法,所以把父类的$_name = '韩'; 输出。
把private 改为 protected 或 public就可以了。
------解决思路----------------------
你把 echo '
类:'.get_class($this).',方法:'.__method__;
改成 echo '
类:'. __class__ .',方法:'.__method__;
就可以从结果中看出了
p1=10,_name=康
p1=10,_name=韩
类:han,方法:han::showname
虽然 kong 了继承了 han 的方法 showname (__method__ 为 han::showname)
但他依然工作在 han 类中,那么 $this->_name 就是 han::_name 并且永远都是
如果 han::_name 不是私有的,那么 kong::_name 将会覆盖 han::_name
但并不是说 $this->_name 访问的是 kong::_name,而实际上依然是 han::_name,只不过两个的值相同而已
其它类似信息

推荐信息