如何扩展多个实用程序类

时间:2012-03-22 08:14:33

标签: php oop

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

假设我有以下课程:

class MyClass extends Observer, Logger, OtherUtilClass

MyClass不能扩展多个类。但它需要成为观察者。它可能需要一些其他基类以及完全功能。对此最好的方法是什么?

2 个答案:

答案 0 :(得分:19)

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

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


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

Class Observer {}
Class Logger extends Observer {}
Class OtherUtilClasses extends Logger {}

//Now
class MyClass extends OtherUtilClasses {}

答案 1 :(得分:14)

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