假设我的老板有一个类和接口:
class HisBar {}
interface HisFooInterface
{
public function doSomethingWithBar(HisBar $bar);
}
我有自己的班级,可能会或可能不会扩展HisBar
class MyBar extends HisBar {}
我希望我能做到这一点:
interface MyFooInterface extends HisFooInterface
{
public function doSomethingWithBar(MyBar $bar);
}
但是,是的,我得到了错误:
致命错误:MyFooInterface::doSomethingWithBar() 的声明必须与第 xx 行 path\to\MyFooInterface.php 中的 HisFooInterface::doSomethingWithBar(HisBar $bar) 兼容
我的意思是,我需要使用接口的一个实例,但有不同的类型提示,这可能吗?有没有办法做到这一点?如何更改参数的类型?谢谢。