在PHP里,子类是不是可以继承父类的私有属性,但不能访问?
展开全部
用print_r来检测一下这个对象
注释掉的时候
print_r($s1);
Student Object
(
[name:Person:private] => ys
)
告诉我们name是Person类私有的属性
当没注释掉的时候
print_r($s1);
Student Object
(
[name:Person:private] => ys
[name] => 子类
)
告诉我们name是Person类私有的属性,有给Student类添加了一个name属性
我们还注释掉,再修改如下
$s1 = new Student();
$s1->name = '子类'; //添加一个属性为name
$s1->say();
跟上面一样的结果
从这些调试结果分析,继承跟访问可以这样说是一个概念,私有不可以继承过来。
你继承的时候加的那个$this->name是又新添加了一个name属性,跟父类的name属性无关
注释掉的时候
print_r($s1);
Student Object
(
[name:Person:private] => ys
)
告诉我们name是Person类私有的属性
当没注释掉的时候
print_r($s1);
Student Object
(
[name:Person:private] => ys
[name] => 子类
)
告诉我们name是Person类私有的属性,有给Student类添加了一个name属性
我们还注释掉,再修改如下
$s1 = new Student();
$s1->name = '子类'; //添加一个属性为name
$s1->say();
跟上面一样的结果
从这些调试结果分析,继承跟访问可以这样说是一个概念,私有不可以继承过来。
你继承的时候加的那个$this->name是又新添加了一个name属性,跟父类的name属性无关
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询