[]Factory Method模式.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[]Factory Method模式

* 二、Factory Method模式 3.解决方案-----第四步 A 继承Creator接口,定义具体的Creator用来创建具体的产品 Class ConcreteCreatorA:public Creator { Product* FactoryMethod(); //注意返回值相同 } * 二、Factory Method模式 3.解决方案-----第四步 BC Class ConcreteCreatorB:public Creator{ Product* FactoryMethod(); } Class ConcreteCreatorC:public Creator{ Product* FactoryMethod(); } //UML图表示 * 二、Factory Method模式 3.解决方案-----第五步 A 实现工厂方法 Product * Creator:: FactoryMethod(){ return new Product; } Product * ConcreteCreatorA:: FactoryMethod() { return new ConcreteProductA; } //比较不同的返回值 * 二、Factory Method模式 3.解决方案-----第五步 BC Product * ConcreteCreatorB:: FactoryMethod() { return new ConcreteProductB; } Product * ConcreteCreatorC:: FactoryMethod() { return new ConcreteProductC; } * 二、Factory Method模式 3.解决方案-----第六步 如何使用 main() { Creator * c=new ConcreteCreatorA; //子类代替父类 Product * p=c-FactoryMethod(); //实际调用的是子类的工厂方法 } * 二、Factory Method模式 4.Factory Method创建型模式的本质 把new用函数封装起来 使得 ProductA pa=new ProductA; 变为 Creator * c=new ConcreteCreatorA; Product * p=c-FactoryMethod(); //隐藏了具体的产品 * 二、Factory Method模式 5.结构:用UML中的类图表示 * 二、Factory Method模式 6.一个游戏的例子: BuBing* bb=new Bubing;//创建步兵 WuShi* ws=new WuShi;//创建巫师 FeiJi * fj =new Feiji; //创建直升机 步兵、巫师、直升机有共性也有个性 * 二、Factory Method模式 6.一个游戏的例子: Creator * c1=new BingZhan;//兵站 Product * p1=c-FactoryMethod();//创建步兵 Creator * c2=new SMSD;//神秘圣地 Product * p2=c-FactoryMethod();//创建巫师 Creator * c3=new CheJian;//车间 Product * p3=c-FactoryMethod();//创建飞机 * 二、Factory Method模式 6.一个游戏的例子:用UML中的类图表示 * 二、Factory Method模式 6.进一步思考: 1)参数化工厂方法 。。。 2) lazy initialization 3)产品模板类 template 4)迷宫的用法 * 三、小结: 1.类的继承,子类的用法 2.虚拟函数、纯虚拟函数 3.const变量、指针和函数的用法 4.模板函数和模板类 * Factory Method模式 完 * * * * * * * * 简单而实用的 Factory Method模式 * 一、所涉及的C++面向对象编程语法 1.类class的继承----定义子类 class BenKe:public Student //本科生 { public: string ZhuanYe; //专业 string XueWei; //学位 void WritePaper();//写论文函数 }//用UML的类图表示 * 一、所涉及的C++面向对象编程语法 1.类

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档