Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP面向对象结构问题,模拟多重继承_Php_Oop_Multiple Inheritance - Fatal编程技术网

PHP面向对象结构问题,模拟多重继承

PHP面向对象结构问题,模拟多重继承,php,oop,multiple-inheritance,Php,Oop,Multiple Inheritance,我有一个电子商店,有多种产品类型。我会想到下面的结构 Cart_Item -- Cart_Product -- Cart_Download Order_Item extends Cart_Item -- Order_Product -- Order_Download 问题是我想让Order\u Product扩展Order\u Item和Cart\u Product。 这是因为它需要通用方法来订购商品(从订单中获取价格,而不是从产品中获取价格),还需要从购物车产品中获取方法(运输计算) 我知

我有一个电子商店,有多种产品类型。我会想到下面的结构

Cart_Item
-- Cart_Product
-- Cart_Download

Order_Item extends Cart_Item
-- Order_Product
-- Order_Download
问题是我想让Order\u Product扩展Order\u Item和Cart\u Product。 这是因为它需要通用方法来订购商品(从订单中获取价格,而不是从产品中获取价格),还需要从购物车产品中获取方法(运输计算)

我知道php不支持多重继承,我想知道什么是最干净的方法来模拟它

现在我有订单产品扩展购物车从订单产品中的订单项目复制代码下载。

手动或通过使用并实现这些方法。或者使用而不是继承,这意味着您让
Order\u产品
拥有
Order\u项目
Cart\u产品


在一个SeNeNoT:你也可以考虑把“运费计算”放入它自己的服务类中,你可以把适当的产品实例传递给.< /P>喜欢构图而不是继承,除非你有一个很好的理由不:@戈登谢谢你的回答,我用了作文。非常感谢。