【问题标题】:Dynamic Polymorphism in PHPPHP 中的动态多态性
【发布时间】:2011-05-12 18:08:14
【问题描述】:

是否像模板类一样支持 PHP 中的动态多态性,或者在 PHP 中使用多态性的唯一方法是抽象函数和重载/覆盖?

【问题讨论】:

标签: php oop polymorphism


【解决方案1】:
【解决方案2】:

没有什么能比得上模板类,但您可以通过使用抽象类和接口以及利用状态、装饰器、策略等设计模式来实现不同的运行时行为。

相关:Is what seems like polymorphism in PHP really polymorphism?

【讨论】:

    【解决方案3】:

    您可以使用接口以及抽象类。

    【讨论】:

      【解决方案4】:

      您可以使用接口向类添加通用功能。当然,您也可以覆盖特定的函数并扩展类。我对类的功能进行多态化的最常见方法是从一个基(模板)类开始,然后为它的使用树中的每个分支扩展它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-20
        • 1970-01-01
        • 1970-01-01
        • 2021-02-14
        相关资源
        最近更新 更多