论文封面格式模板:工厂方法模式(Factory Methond)案例分析 - jia
来源:百度文库 编辑:九乡新闻网 时间:2024/05/05 11:03:06
案例分析:
工厂方法定义一个用于创建对象的接口,但是让子类决定实例化哪个类。压注成型演示了这种模式。塑料玩具制造商加工塑料粉,将塑料注入到希望形状的模具中。玩具的类别(车,人物等等)是由模具决定的。
意图:
它的用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。在工厂方法模式中,核心的工厂类不再负责所有的产品的创建,而是将创建的工作交给子类去做。这个核心类成为一个抽象工厂的角色,仅负责给出具体工厂子类必须实现的接口,而不接触哪一个产品类实例化的细节。
结构图:
程序代码:
#include
class cMaMoJu
{
public:
cMaMoJu()
{
cout<<"生产玩具马模具"< } }; { public: cCheMoJu() { cout<<"生产模具车模具"< } }; { public: void ZhiZaoWanJu() { MakeMoJu(); ZhuFen(); MeiHua(); } protected: virtual void MakeMoJu()=0; virtual void ZhuFen()=0; virtual void MeiHua()=0; }; { protected: void MakeMoJu() { cMaMoJu obj; } void ZhuFen() { cout<<"给该模具注入材料,使其成形"< } void MeiHua() { cout<<"美化产品,完成产品生产"< } }; { protected: void MakeMoJu() { cCheMoJu obj; } void ZhuFen() { cout<<"给该模具注入材料,使其成形"< } void MeiHua() { cout<<"美化产品,完成产品生产"< } }; { cWanJuGongChang* obj=new cWanJuMaGongChang; obj->ZhiZaoWanJu(); obj->ZhiZaoWanJu(); return 0; } 运行结果: 生产玩具马模具 给该模具注入材料,使其成形 美化产品,完成产品生产 给该模具注入材料,使其成形 美化产品,完成产品生产 Press any key to continue
class cCheMoJu
class cWanJuGongChang
class cWanJuMaGongChang:public cWanJuGongChang
class cWanJuCheGongChang:public cWanJuGongChang
int main()
cout<
obj=new cWanJuCheGongChang();
生产模具车模具
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jia_xiaoxin/archive/2008/08/21/2806407.aspx