php写接口的常用两方法,interface-php多接口方法重复问题

interface A {

public function code();

}

interface B {

public function code(string $string);

}

class C implements A,B {

//...code

}

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

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

回复内容:

interface A {

public function code();

}

interface B {

public function code(string $string);

}

class C implements A,B {

//...code

}

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

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

php不能overloading(同方法名,但参数不一致),能够在继承中overriding(同方法名,且不论参数是否一致)。

也就是说php的参数如何变,只要方法名字一样都被当做本类的同一个方法。

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

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

func_get_args http://php.com/manual/en/func...

本身这种写法就是个尝试错误,公用方法写在外面,类中直接调用,不要每一个口都写个一样的,维护起来也巨麻烦

可以了解一下PHP的性状。

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

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值