php多接口方法重复问题

interface A {
    public function code();
}

interface B {
    public function code(string $string);
}

class C implements A,B {
//...code
}

当C同时需要实现这两个接口的时候,有什么方法同时使用 A,B两个接口中的code方法????

本地测试只能使用其中一个方法

阅读 4.4k
5 个回答

php不能overloading(同方法名,但参数不一致),能够在继承中overriding(同方法名,且不论参数是否一致)。
也就是说php的参数如何变,只要方法名字一样都被当做本类的同一个方法。

当然作为动态语言,我们可以通过魔法方法模拟java的overloading参考:http://php.net/manual/en/lang...

有个粗挫的方法,你把AB接口的具体逻辑都整合到C接口里面,直接调用C接口^_^

新手上路,请多包涵

可以了解一下PHP的性状。

php不支持多态, 所以最好避免这种写法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题