2016-09-16 72 views
-1

我有一个接口,像这样:上实现的方法类型声明它没有类型声明

interface A { 
    static function from($object): self; 
} 

在类实现接口:

class B implements A { 
    static function from(\C $object): self{ // This is highlighted as an error 
     return new self(); 
    } 
} 

我不能声明类型时,接口没有声明一个类型?

+1

为什么你只是不读官方文档[PHP接口](http://php.net/manual/en/language.oop5.interfaces.php),这真的“有时”帮助。 – LkPark

回答

2

当接口没有声明类型时,我可以不声明一个类型吗?

总之:没有。

按照该文档为interfaces(这似乎很清楚的给我):

实现接口必须使用相同的方法签名,在接口中定义的类。不这样做会导致致命的错误。

如果你提供了更多的细节,为什么你认为你需要做到这一点,我们也许可以给出一个更加有用的答案,但揭掉只是要求一个是/否的问题,这个问题的答案是 - 正如我说 - “不”。