我无法弄清楚为什么这段代码在PHP中不起作用?
<?php
interface Engine {
function run();
}
interface HydroEngine extends Engine {
function run();
}
interface Car {
function setEngine(Engine $engine);
}
interface WaterCar extends Car {
function setEngine(HydroEngine $engine);
}
?>
Run Code Online (Sandbox Code Playgroud)
它似乎没有打破任何OOP规则,但为什么它给我一个错误?
Fatal error: Declaration of WaterCar::setEngine() must be compatible with Car::setEngine(Engine $engine)