我正在开展一个项目,其中我有Order class
代表客户的订单。
它具有管理订单(如更改状态)和获取订单详情(如发票明细)的功能
我正在创建一系列将订单转移给各个合作伙伴的课程。
所以我有类似的课程:
class PartnerXOrder extends Order
class PartnerYOrder extends Order
在同行评审期间,一位同事建议我不应该延长秩序,而应将其作为集体成员:
Class PartnerXOrder
{
private $orderObj;
function __construct()
{
$this->orderObj = new Order();
}
}
虽然我们确实讨论了一下,但我不太明白这种方法在扩展课程方面有什么优势。显然,一种情况是合作伙伴类在未来需要扩展另一个类 - 但这根本不可能基于我们当前的架构。
任何人都可以对此有所了解吗? - 或者我的同事错了吗?
答案 0 :(得分:2)
我正在创建一系列将订单转移给我们各个合作伙伴的课程。
你的同事是对的。
基本上,回答问题我的班级应该继承这个吗?,问问自己:我的班级Y
是X
吗?(其中{{ 1}}是您父类的名称。)
在您的情况下,X
是PartnerXOrder
吗?正如您所说,不是:其目的是将Order
转移到Order
。