gpt4 book ai didi

PHP OOP结构问题,模拟多重继承

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:00:01 27 4
gpt4 key购买 nike

我的网店有多种产品类型。我会想到以下结构

Cart_Item
-- Cart_Product
-- Cart_Download

Order_Item extends Cart_Item
-- Order_Product
-- Order_Download

问题是我想让 Order_Product 扩展 Order_Item 和 Cart_Product。这是因为它需要 Order_Item 的通用方法(从 Order 而不是从产品获取价格),还需要 Cart_Product 的方法(运费计算)

我知道 php 不支持多重继承,我一直在想什么是最简洁的模拟方法。

现在我有 Order_Product 从 Order_Product 和 Order_Download 中的 Order_Item 扩展 Cart_Product 重复代码。

最佳答案

要么使用Interfaces并手动或通过 Strategies 实现这些方法.或者使用 Composition而不是继承,这意味着您让 Order_Product 有一个 Order_Item 和一个 Cart_Product

旁注:您还可以考虑将“运费计算”放入它自己的服务类中,您可以将适当的 Product 实例传递给该类。

关于PHP OOP结构问题,模拟多重继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3889080/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com