我有一个名为'Car'的抽象PHP类。
abstract class Car
{
// Extending class must define this method
abstract protected function getBrand();
abstract protected function getCars();
// Common methods
public function printBrand() {
print $this->getBrand() . PHP_EOL;
}
public function printUrl() {
print $this->getUrl() . PHP_EOL;
}
}
这个抽象类实现了一个函数getCars()
,但是这个函数对于每个子节点具有基本相同的内容,但具有不同的变量。由于有几十个孩子,这种方法getCars()
变得多余。有些孩子可能还需要覆盖getCars()
功能。
我应该将getCars()
代码复制到抽象类并用$this->getVar()
替换变量吗?或者这不是好习惯吗?提前谢谢。
编辑:如果这是可行的方法,某些特定的孩子可以覆盖这个抽象函数吗?