PHP:如何为从具有自己的接口的另一个类继承的类获得扩展接口?

时间:2011-10-11 19:51:32

标签: php inheritance interface

我有类似的东西:

interface IProduct { }
class Product implements IProduct { }
class SpecificProduct extends Product { }

我需要为我的SpecificProduct设置一个扩展IProduct的接口。 我可以这样做:

interface ISpecificProduct { }
class SpecificProduct extends Product implements ISpecificProduct { }

还是会覆盖IProduct接口?

2 个答案:

答案 0 :(得分:1)

这适用于PHP,这样,只需通过:

class SpecificProduct因为extends Product已经implements IProduct。因为它implements ISpecificProduct,它有两个接口。

SpecificProduct现在有两个接口:

  1. IProduct
  2. ISpecificProduct

答案 1 :(得分:0)

是的,你可以这样做,不,它不会“覆盖”IProduct,它会增加它。

如果您在某个地方使用ISpecificProduct界面,并希望了解IProduct中的方法,ISpecificProduct也可以扩展IProduct

interface ISpecificProduct extends IProduct

在这种情况下,SpecificProduct以两种方式从IProduct获得方法签名的知识。

有关详细信息,请参阅PHP documentation on interfaces


作为旁注,如果每个具体类都有匹配的接口,那么在对象设计中可能会出现效率低下或不必要的事情。