我正在处理一个项目,其中我有一个代表客户订单的Order class
。
它具有管理订单(如更改状态)和获取订单详细信息(如发票详细信息)的功能
我正在创建一堆类,这些类将把订单传递给我们的各个合作伙伴。
我有这样的类:
class PartnerXOrder extends Order
class PartnerYOrder extends Order
在同行评审期间,一位同事建议我不应该扩展Order,而是将其作为类成员:
Class PartnerXOrder
{
private $orderObj;
function __construct()
{
$this->orderObj = new Order();
}
}
虽然我们确实讨论了一下,但我不太明白这种方法比扩展类有什么优势。很明显,一个是万一将来伙伴类需要扩展另一个类——但基于我们当前的体系结构,这根本不可能。
有人能解释一下吗?——还是我的同事错了?
我正在创建一堆类,将把的订单传递给我们的各个合作伙伴。
你的同事是对的。基本上,为了回答这个问题,我的类应该继承这个吗?,问你自己:我的班级Y
是一个X
吗?(其中X
是你的父班级的名称)
在你的情况下,是PartnerXOrder
和Order
?正如你所说,不:它的目的是将Order
转移到Partner
。