所以我在 PHP 类中有一个函数,我想为另一个类(扩展类)提供该函数的修改版本。
我会在扩展类中使用我的修改重新创建类吗?我将如何在我的扩展类中拥有一个行为不同的函数?
您可以像这样覆盖子类中的方法:
<?php
class A {
public function printText($param) {
echo 'foo';
}
}
class B extends A {
public function printText($param) {
// Optional: This will call the printText method from the parent class A
parent::printText($param);
echo 'bar';
}
}
$instanceA = new A();
$instanceA->printText('sampleArg'); // Result: foo
$instanceB = new B();
$instanceB->printText('sampleArg'); // Result: foobar
/* EOF */
重要的是,被覆盖的方法与父类方法具有相同数量的参数,否则会出现 PHP 错误。