我有一个情况我有三类:PHP多类继承
<?php
class A {
protected a_val = 'some_val';
public function read_a_val(return $this->a_val;);
}
class B extends A {
protected b_val = 'some_val_2';
public function read_b_val(return $this->b_val;);
}
class C extends B {
protected c_val = 'some_val_3';
public function read_c_val(return $this->c_val;);
public function c_read_a_val(return $this->a_val;);
}
$obj = new C;
$val = $obj->read_a_val(); // <-- throws error; undefined method
$val = $obj->a_val; // <-- throws error; cannot access protected property
$val = $obj->c_read_a_val(); // works.
?>
我在做什么错? PHP支持多级继承...我错过了什么?看起来像C里面可以访问父类,没问题,但变量$ obj不能。 $ obj是否能够访问A的继承内容(受保护)?注意:使用PHP v5.6.25
'$ obj-> read_a_val()'不应该(和不)抛出任何错误。 – ShiraNai7
编辑问题以匹配您给出的答案对任何其他人都没用 –
在发布答复之前,我实际上已更正了问题,因为我看到我输入了错误信息。 –