如果在子类中定义了属性,那么父类的方法中是否可以使用该属性?我知道父母的属性是由孩子继承的,但父母可以使用孩子的属性吗?例如:
class My_Parent {
public function echoVar() {
echo $this->var;
}
}
class My_Child extends My_Parent {
public $var = 'Henry';
}
$obj = new My_Child;
$obj->echoVar(); // Henry or 'undefined'?
答案 0 :(得分:0)
类扩展非常简单:您的对象将包含所有方法,如您所期望的那样。此外,任何公共变量都将存在,按优先顺序(子变量可以覆盖父变量)。
在您的情况下,您的Parent
正在定义一种方法,该方法将尝试来查找名为$var
的变量,该变量确实存在于子类中!一切都正常,亨利回来了。沙箱在这里:http://sandbox.onlinephpfunctions.com/code/2eb0b764c2be94755ce300deeaa2ad0714d82bcf
但是,请在下次运行您的代码。好的?所有这些都可以在不必提出问题的情况下完成,并且可以节省每个人的时间。