如何在 PHP 中重写函数
PHP 允许你通过覆盖父类的同名方法来重写函数。这在面向对象编程中非常有用,可以实现代码重用、多态性和代码维护。
语法
class Subclass extends Superclass { public function overridenMethod() { // 自定义实现 } }
实战
假设我们有一个 Animal 类,包含一个 speak() 方法,这个方法打印出一条通用的信息。然后创建一个 Dog 子类,重写 speak() 方法以打印出更具体的狗叫声。
class Animal { public function speak() { echo "Generic animal sound."; } } class Dog extends Animal { public function speak() { echo "Woof!"; } } $animal = new Animal(); $animal->speak(); // 输出: "Generic animal sound." $dog = new Dog(); $dog->speak(); // 输出: "Woof!"
注意:
- 重写方法的签名(名称、参数、返回值类型)必须与父类中的原始方法完全相同。
- 如果子类的方法带有 @override 注释,可能会提高代码的可读性和可维护性。
- parent:: 语法可用于在重写方法中访问父类的原始实现。