让我说我有这段代码:
abstract class AbstractCar {
private $car;
public function __construct(CarInterface $car)
{
$this->car = $car;
}
}
class LamboCar extends AbstractCar {
public function __construct(LamboCarInterface $car)
{
parent::__construct($car);
}
}
问题是:重写构造方法仅是将$car
类型从CarInterface
更改为LamboCarInterface
(LamboCarInterface
扩展了CarInterface
)的不良做法吗?假设AbstractCar确实从CarInterface
调用了一些方法,而LamboCar
从LamboCarInterface
调用了一些方法