0
我在PHP中创建了一个我想扩展的类,因此该类可以具有许多基本功能。问题是功能如此不同,我不想在一个类中混合不同的方法。由于组织和可扩展性,我更愿意将它们逻辑分开。将功能扩展到对象PHP
让我们想象一下,我有三大类:
类用户{}
类跟踪{}
类利斯特{}
用户是代表现实生活中的主类目的。 无需考虑类的具体功能,Tracker和Lister都提供了必须在User中可用的方法,因为它们是一种帮助器。如果我使用继承,我将只能继承一次,不得不创建许多类作为“扩展”,我将使用类User来添加和完成层次结构。有没有办法避免这样做?我的意思是可以用其他类的功能来扩展User类,而不必像我刚才所说的那样知道PHP不支持多重继承?
谢谢!
这里扩展User类是没有的单一职责原则一个很好的例子:这取决于跟踪和李斯特做,考虑依赖注入 –
创建一个接口,让每个类实现它。 – knittl
Lister和Tracker的方法概念上是用户会做的事情吗?或者它们是用户拥有的东西? – Flosculus