【发布时间】:2022-12-27 19:58:16
【问题描述】:
I'm try learn about inheritance in PHP. A question that I can't get it. I have a block code like following:
class BaseClass {
private $name = "BaseClass";
public function getName() {
echo $this->name;
}
}
class ChildClass extends BaseClass {
private $name = "ChildClass";
}
$ob = new ChildClass;
echo $ob->getName(); //result: "BaseClass" . I think its result is "ChildClass".
However, when change visibility of$nametopublicso result is difference.
class BaseClass {
public $name = "BaseClass";
public function getName() {
echo $this->name;
}
}
class ChildClass extends BaseClass {
public $name = "ChildClass";
}
$ob = new ChildClass;
echo $ob->getName(); // Result: "ChildClass".
Please help me explain this problem. Thank!
【问题讨论】: