设计模式-Builder模式戏说

设计模式-Builder模式戏说


  不同于Factory类继承的方式,与AbstractFactory接口继承方式相同,但是对象属性类并没有通过继承实现。




///

class 导弹
{
  public:
    vitrual ~导弹();
        导弹();

    地对空导弹();
    反导防御();
}

/
class 车轱辘
{
   public:
    vitrual ~车轱辘();
      车轱辘();
    韩国车轱辘();
        东风车轱辘();
}

/
class 轮胎
{
   public:
    vitrual ~轮胎();
      轮胎();
        米琪琳();
    吉利();
}

//

class 汽车
{
  public:
    vitrual ~汽车();
    汽车();

    组装车辆(); 
};

汽车::组装车辆(车辆样式& _车辆样式)
{
    _车辆样式.导弹样式();
    _车辆样式.车轱辘样式();
    _车辆样式.轮胎样式();

    return _车辆样式.最终样式();
}
/

class 车辆样式
{
public:
    车辆样式();
    ~车辆样式();

    virtual 导弹样式();
    virtual 车轱辘样式();
    virtual 轮胎样式();

    virtual 汽车* 最终样式();
}
///

class 我的车 : public 车辆样式
{
 public:
   我的车();
   ~我的车();

   virtual 导弹样式(){导弹.地对空导弹();}
   virtual 车轱辘样式(){车轱辘.东风车轱辘();}
   virtual 轮胎样式(){轮胎.吉利();}

   virtual 汽车* 最终样式();
}

class 老婆的车 : public 车辆样式
{
  public:
    老婆的车();
   ~老婆的车();

    virtual 导弹样式(){导弹.反导防御();}
   virtual 车轱辘样式(){车轱辘.韩国车轱辘();}
   virtual 轮胎样式(){轮胎.米琪琳();}

   virtual 汽车* 最终样式();
}

class 童车 : public 车辆样式
{
  public:
   童车();
   ~童车();

   virtual 导弹样式(){导弹.反导防御();}
   virtual 车轱辘样式(){车轱辘.东风车轱辘();}
   virtual 轮胎样式(){轮胎.吉利();}

   virtual 汽车* 最终样式();
}
=======================================================================

int main()
{
  汽车* 男式车;
  我的车 男式样式;

  男式车.组装车辆(男式样式);

  汽车* 女式车;
  老婆的车 女式样式;

  女式车.组装车辆(女式样式);

  汽车* 小型车;
  童车 小型样式;

  小型车.组装车辆(小型样式);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值