【发布时间】:2011-05-12 18:08:14
【问题描述】:
是否像模板类一样支持 PHP 中的动态多态性,或者在 PHP 中使用多态性的唯一方法是抽象函数和重载/覆盖?
【问题讨论】:
-
我在这里查到了:devshed.com/c/a/PHP/…,这似乎完全浪费了处理...也许有些我不明白...
标签: php oop polymorphism
是否像模板类一样支持 PHP 中的动态多态性,或者在 PHP 中使用多态性的唯一方法是抽象函数和重载/覆盖?
【问题讨论】:
标签: php oop polymorphism
没有什么能比得上模板类,但您可以通过使用抽象类和接口以及利用状态、装饰器、策略等设计模式来实现不同的运行时行为。
相关:Is what seems like polymorphism in PHP really polymorphism?
【讨论】:
您可以使用接口以及抽象类。
【讨论】:
您可以使用接口向类添加通用功能。当然,您也可以覆盖特定的函数并扩展类。我对类的功能进行多态化的最常见方法是从一个基(模板)类开始,然后为它的使用树中的每个分支扩展它。
【讨论】: