当前位置: 首页 > wzjs >正文

电商网站网址大全鳌江网站建设

电商网站网址大全,鳌江网站建设,鄞州做网站,企业网络规划设计方案工厂方法模式&#xff1a;优化&#xff0c;工厂类也分子类和父类 流程&#xff1a; 实例&#xff1a; #include <iostream> using namespace std; /*抽象产品类 TV(电视机类)*/ class TV { public: virtual void Show() 0; virtual ~TV();//声明析构函数为虚函数&…

工厂方法模式:优化,工厂类也分子类和父类

流程:

img

实例:

img

#include <iostream>
using namespace std;
/*抽象产品类 TV(电视机类)*/ 
class TV
{
public:
virtual void Show() = 0;
virtual ~TV();//声明析构函数为虚函数,防止内存泄漏
};/*具体产品类 HairTV(海尔电视机类)*/ 
class HairTV : public TV
{
public:
void Show()
{
cout<< "I'm HairTV"<<endl;
}
};/*具体产品类 HisenseTV(海信电视机类)*/
class HisenseTV : public TV
{
public:
void Show()
{
cout<< "I'm HisenseTV"<<endl;
}
};/*工厂类(电视机工厂类)*/  
class TVFactory
{
public:
virtual TV *CreateTV() = 0;
virtual ~TVFactory(){};//析构函数声明为虚函数,防止内存泄漏
};/*具体工厂类 HairTVFactory(海尔电视机工厂类)*/ 
class HairTVFactory : public TVFactory
{
public:
TV *CreateTV()
{
return new HairTV ();
}
};/*具体工厂类 HisenseTV(海信电视机工厂类)*/ 
class HisenseTVFactory : public TVFactory
{
public:
TV *CreateTV()
{
return new HisenseTV ();
}
};int main(int argc , char *argv [])
{
TVFactory *hairTVFactory = new HairTVFactory();
TV *hairTV = hairTVFactory->CreateTV();
hairTV->Show();TVFactory *hisenseTVFactory = new HisenseTVFactory();
TV *hisenseTV = hisenseTVFactory->CreateTV();
hisenseTV->Show();if (hairTVFactory!= NULL)
{
delete hairTVFactory;
hairTVFactory = NULL;
}if (hairTV != NULL)
{
delete hairTV;
hairTV = NULL;
}if (hisenseTVFactory != NULL)
{
delete hisenseTVFactory;
hisenseTVFactory = NULL;
}if (hisenseTV != NULL)
{
delete hisenseTV;
hisenseTV = NULL;
}
return 0;
}

工厂类也分为子类和父类,子类工厂专门负责生产子类产品,它们是一一对应的关系。所以,当新添加子类产品时,只需要新添加一个工厂子类即可,不需要再原来的代码上修改,从而提高了扩展性。

抽象工厂模式:一个工厂子类生产多个产品子类

流程:

img

实例:

img

HairTV 和 HairAC 都由 Hair工厂子类来生产,但注意,这两个子类产品都是Hair品牌,也就是说,它们之间是有联系的

#include <iostream>
using namespace std;// 抽象产品类类 Television(电视机类)
class Television
{
public:virtual void Show() = 0;virtual ~Television(){};//析构函数声明为虚函数,防止内存泄漏
};//具体产品类 HaierTelevision(海尔电视机类)
class HaierTelevision : public Television
{
public:void Show(){cout << "I'm HaierTelevision" << endl;}
};
//具体产品类 TCLTelevision(TCL电视机类)
class TCLTelevision : public Television
{
public:void Show(){cout << "I'm TCLTelevision" << endl;}
};// 抽象产品类  AirCondition(空调类)
class AirCondition
{
public:virtual void Show() = 0;virtual ~AirCondition(){};//析构函数声明为虚函数,防止内存泄漏
};//具体产品类 HairAirCondition(海尔空调类)
class HairAirCondition : public AirCondition
{
public:void Show(){cout << "I'm HairAirCondition" << endl;}
};//具体产品类 TCLAirCondition(TCL空调类)
class TCLAirCondition : public AirCondition
{
public:void Show(){cout << "I'm TCLAirCondition" << endl;}
};// 抽象工厂类 EFactory(电器工厂类)
class EFactory
{
public:virtual Television* CreateTelevision() = 0;virtual AirCondition* CreateAirCondition() = 0;virtual ~EFactory(){};//析构函数声明为虚函数,防止内存泄漏
};//具体工厂类 HairFactory(海尔工厂类)
class HairFactory : public EFactory
{
public:Television* CreateTelevision(){return new HaierTelevision();}AirCondition* CreateAirCondition(){return new HairAirCondition();}
};//具体工厂类 TCLFactory(TCL工厂类) 
class TCLFactory : public EFactory
{
public:Television* CreateTelevision(){return new TCLTelevision();}AirCondition* CreateAirCondition(){return new TCLAirCondition();}
};int main(int argc, char *argv[])
{EFactory *hairFactory = new HairFactory ();/*实例化工厂抽象类*/Television *haierTelevision =hairFactory->CreateTelevision();/*实例化产品抽象类*/AirCondition *haierAirCondition = hairFactory->CreateAirCondition();haierTelevision->Show();haierAirCondition->Show();EFactory *tCLFactory = new TCLFactory ();Television *tCLTelevision = tCLFactory->CreateTelevision();AirCondition *tCLAirCondition = tCLFactory->CreateAirCondition();tCLTelevision->Show();tCLAirCondition->Show();if (hairFactory != NULL){delete hairFactory;hairFactory = NULL;}if (haierTelevision != NULL){delete haierTelevision;haierTelevision= NULL;}if (tCLAirCondition != NULL){delete tCLAirCondition;tCLAirCondition = NULL;}if (tCLFactory != NULL){delete tCLFactory;tCLFactory= NULL;}if (tCLTelevision != NULL){delete tCLTelevision;tCLTelevision = NULL;}if (tCLAirCondition != NULL){delete tCLAirCondition;tCLAirCondition = NULL;}
}

一个工厂子类可以生产一个产品族,抽象工厂模式适合不同类的产品之间有联系的情况


文章转载自:

http://fd6ufP2c.nxstj.cn
http://fTi8tPrT.nxstj.cn
http://CA4uaZ7G.nxstj.cn
http://8R16hRYP.nxstj.cn
http://XGz9ud3F.nxstj.cn
http://tzVpEAPu.nxstj.cn
http://0j0o6puf.nxstj.cn
http://FnZGMzXW.nxstj.cn
http://RSfon3ND.nxstj.cn
http://npr7aDWB.nxstj.cn
http://QDyHfVoM.nxstj.cn
http://uwbyYgGO.nxstj.cn
http://z8CWVMER.nxstj.cn
http://hFHfNL3u.nxstj.cn
http://jmgjBjWh.nxstj.cn
http://CTmAOQMn.nxstj.cn
http://ZefZe2G7.nxstj.cn
http://XR8j1FyT.nxstj.cn
http://vRcefxaJ.nxstj.cn
http://fcYtFypU.nxstj.cn
http://CKSHiRaj.nxstj.cn
http://obOsMwh6.nxstj.cn
http://3ImR1HeN.nxstj.cn
http://Ut66ID5Q.nxstj.cn
http://DfSpgjYg.nxstj.cn
http://lS9E2zsz.nxstj.cn
http://D0N7K18v.nxstj.cn
http://2WyKGqJN.nxstj.cn
http://PvTDDg8u.nxstj.cn
http://AUnPPkyX.nxstj.cn
http://www.dtcms.com/wzjs/708732.html

相关文章:

  • aspnet网站开发pdf携程网站建设评价
  • 定边网站建设公司网站怎么做美观
  • 网站设计 品牌设计网页认证怎么认证
  • 黄金网站软件入口免费登录百度账号
  • 网站建设乙方义务近期新闻
  • 专业的论坛网站建设阿里云网站建设方案书中山市
  • 网站拒绝了您的访问百科类网站建设
  • 深圳建网站公司网站开发定制推广杭州
  • 做网站建设网站制作双通网络网站建设价格
  • 上海网站建设-网建知识手机2345网址导航老版下载
  • 电子商务物流网站建设wordpress菜单栏功能
  • 临安规划建设局网站免费网站托管平台
  • 自己做一元购网站刷赞网站推广免费软件
  • 芜湖网站建设网站制作公司双语网站建设方案
  • python wordpress建站工业设计创意网站
  • 济南会做网站的公司营销型网站框架
  • 网站链接查询wordpress主题 胖子马
  • 如何免费创建企业网站网站建设与运营考试
  • 网站外部链接网站的seo优化方案
  • 网站视频做背景北京知名的网站建设公司排名
  • 工商注册网站wordpress标签自动
  • 全国做网站最好的公司wordpress文章底部文字广告
  • 网站开发 会费管理 模块互联网产品品牌推广
  • 怀化网站建设联系方式网站制作价格东莞
  • 双公示网站专栏建设济南效果图制作公司
  • 搭建wordpress站点网站后台无法更
  • 哪个网站做推广做的最好亚马逊网站的建设和维护
  • vps网站能打开wordpress 判断文章页
  • 做网站网站代理违法吗网站建设设计师
  • 合肥制作网站游戏网站建设论文