【问题标题】:How to extend multiple utility classes [duplicate]如何扩展多个实用程序类[重复]
【发布时间】:2012-04-06 19:01:20
【问题描述】:

这个问题有点针对 PHP,但它可能也适用于其他语言。在 PHP 中,您只能扩展一个类。但是,如果您需要更多课程怎么办?

假设我有以下课程:

class MyClass extends Observer, Logger, OtherUtilClass

MyClass 不能扩展多个类。但它需要是一个观察者。它可能还需要一些其他基类才能完全发挥作用。最好的方法是什么?

【问题讨论】:

    标签: php oop


    【解决方案1】:

    在 PHP 5.4 中,一个类可以使用多个traits

    【讨论】:

    【解决方案2】:

    没有

    你的想法导致multiple inheritance,它在 PHP 中是不可用的。

    非常建议您阅读this 问题,了解您为什么不应该尝试这个。


    但是,您仍然可以链接这些类。如果以正确的方式完成,您可以获得所有类的功能。

    Class Observer {}
    Class Logger extends Observer {}
    Class OtherUtilClasses extends Logger {}
    
    //Now
    class MyClass extends OtherUtilClasses {}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-20
      • 2015-06-19
      • 1970-01-01
      • 2015-01-22
      • 1970-01-01
      • 1970-01-01
      • 2020-10-27
      • 2012-10-18
      相关资源
      最近更新 更多