Php 不使用多重继承或重复代码扩展类

Php 不使用多重继承或重复代码扩展类,php,inheritance,design-patterns,Php,Inheritance,Design Patterns,我试图找出如何在不重复代码的情况下正确扩展几个类。 我有以下课程: 基础(方法A、方法B) 发票:基数(方法C) 装运:基本(方法D) 我必须在不修改的情况下调整一些功能。问题是我需要调整的一些方法在基类中 如果我扩展基类,我需要复制方法C和D。如果我扩展最后的每个类,那么我需要复制对方法A和B的更改 如何在没有多重继承(PHP,不可能)或重复代码的情况下正确执行此操作?您可以使用trait来完成此操作 这个问题太宽泛了——有太多可能的方法可以做到这一点。Traits(multipleinh

我试图找出如何在不重复代码的情况下正确扩展几个类。 我有以下课程:

  • 基础(方法A、方法B)
  • 发票:基数(方法C)
  • 装运:基本(方法D)
我必须在不修改的情况下调整一些功能。问题是我需要调整的一些方法在基类中

如果我扩展基类,我需要复制方法C和D。如果我扩展最后的每个类,那么我需要复制对方法A和B的更改


如何在没有多重继承(PHP,不可能)或重复代码的情况下正确执行此操作?

您可以使用
trait
来完成此操作


这个问题太宽泛了——有太多可能的方法可以做到这一点。Traits(multipleinheritation)是一种解决方案,将基类分解为需要依赖项的类,并让最后两个类提供这些依赖项的不同实现可能是更好的选择。没有办法肯定地说,有了这样的抽象信息,我不能改变这些类,我只能扩展它们。它们是第三方模块的一部分。那么,特质可能是最好的选择,但也无法真正回答这个问题,因此它可能会因为过于宽泛而被关闭