在PHP面向对象编程中,子类可以重载父类的方法和属性。重载是指子类重新定义或改变父类的方法或属性,以满足子类的特定需求。
重载方法:
class ParentClass {
public function printMessage() {
echo "This is the parent class.";
}
}
class ChildClass extends ParentClass {
public function printMessage() {
echo "This is the child class.";
}
}
$childObj = new ChildClass();
$childObj->printMessage(); // 输出:This is the child class.
class ParentClass {
public $message = "This is the parent class.";
}
class ChildClass extends ParentClass {
public $message = "This is the child class.";
}
$childObj = new ChildClass();
echo $childObj->message; // 输出:This is the child class.
注意:当子类重载父类的方法或属性时,子类可以调用父类的方法或属性,使用parent::
关键字。
class ParentClass {
public $message = "This is the parent class.";
public function printMessage() {
echo $this->message;
}
}
class ChildClass extends ParentClass {
public $message = "This is the child class.";
public function printMessage() {
parent::printMessage(); // 调用父类的printMessage方法
echo $this->message;
}
}
$childObj = new ChildClass();
$childObj->printMessage(); // 输出:This is the parent class.This is the child class.
总结: 子类中重载父类的方法和属性可以实现对父类的行为进行定制和扩展。通过方法重载,子类可以改变父类方法的实现逻辑;通过属性重载,子类可以改变父类属性的值。重载使得子类可以根据自身的需求来定制和扩展父类的功能。
下一篇:php入门教程之面向对象
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站