0

我在 PHP 中创建了一个我想扩展的类,因此该类可以具有许多基本功能。问题是功能是如此不同,我不想在一个类中混合不同的方法。由于组织和可扩展性,我更喜欢在逻辑上将它们分开。

假设我有三个类:

类用户{}

类跟踪器 { }

类列表器 { }

User 是代表现实生活对象的主要类。在不考虑类的具体功能的情况下,Tracker 和 Lister 都提供了必须适用于 User 的方法,因为它们是一种帮助器。如果我使用继承,我将能够只继承一次,因为必须创建许多类作为“扩展”,我将使用 User 类添加和完成层次结构。有没有办法避免这样做?我的意思是是否可以使用其他类的功能来扩展 User 类,而不必像我刚才所说的那样知道 PHP 不支持多重继承?

谢谢!

4

1 回答 1

0

如果类帮助或装饰 User 类,最好使用装饰器模式的实现。

$user = new User();
//default behavior
$user->getMethod();

$tracker = new Tracker($user);
//enhanced behavior
$tracker->getMethod();
于 2013-08-07T16:25:39.550 回答