如何扩展多个实用程序类


How to extend multiple utility classes

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

假设我有以下类:

class MyClass extends Observer, Logger, OtherUtilClass

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

您的想法导致了multiple inheritance,而且它在PHP中永远不可用。

我强烈建议你阅读这个问题,看看你为什么不应该尝试这个。


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

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

在PHP 5.4中,一个类可以使用几个特性。