这个问题有点针对PHP,但它可能也适用于其他语言。在PHP中,您只能扩展一个类。但是如果你需要更多的课程呢?
假设我有以下课程:
class MyClass extends Observer, Logger, OtherUtilClass
MyClass不能扩展多个类。但它需要成为观察者。它可能需要一些其他基类以及完全功能。对此最好的方法是什么?
答案 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。