关于php:如何扩展多个实用程序类

How to extend multiple utility classes

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

假设我有以下课程:

1
class MyClass extends Observer, Logger, OtherUtilClass

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


您的想法导致了multiple inheritance,并且它在PHP中是不可用的。

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

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

1
2
3
4
5
6
Class Observer {}
Class Logger extends Observer {}
Class OtherUtilClasses extends Logger {}

//Now
class MyClass extends OtherUtilClasses {}

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