4

假设我的老板有一个类和接口:

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) 兼容

我的意思是,我需要使用接口的一个实例,但有不同的类型提示,这可能吗?有没有办法做到这一点?如何更改参数的类型?谢谢。

4

0 回答 0