How to extend multiple utility classes

2019-04-21 16:15发布

This question is kinda aimed towards PHP but it probably applies to other languages aswell. In PHP you can only extend one class. But what if you need more classes?

Suppose i have the following classes:

class MyClass extends Observer, Logger, OtherUtilClass

MyClass can't extend more than one class. But it needs to be an observer. And it might need some other base class aswell to fully function. What would be the best approach for this?

标签: php oop
2条回答
男人必须洒脱
2楼-- · 2019-04-21 16:44

In PHP 5.4, one class can use several traits.

查看更多
做自己的国王
3楼-- · 2019-04-21 16:46

No

Your idea leads to multiple inheritance and it is not available in PHP for good.

I extremely recommended you read this question to see why you shouldn't try this.


However, you still can chain the classes. If done in a proper way you can get the functionality of all classes.

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

//Now
class MyClass extends OtherUtilClasses {}
查看更多
登录 后发表回答