Chào mn! Mình đang đọc học đến kế thừa trong PHP. Mọi người giải đáp giúp mình vấn đề sau với.
Đoạn mã sau:
class BaseClass {
private $name = "BaseClass";
public function getName() {
echo $this->name;
}
}
class ChildClass extends BaseClass {
private $name = "ChildClass";
}
$ob = new ChildClass;
echo $ob->getName(); // Kết quả: "BaseClass". Mình nghĩ nó
//sẽ ra "ChildClass" vì $ob được khởi tạo từ class ChildClass.
Tuy nhiên nếu bây giờ sửa visibility của $name ở 2 class trên thì kết quả lại khác:
class BaseClass {
public $name = "BaseClass";
public function getName() {
echo $this->name;
}
}
class ChildClass extends BaseClass {
public $name = "ChildClass";
}
$ob = new ChildClass;
echo $ob->getName(); // Kết quả: "ChildClass".