范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

设计模式15抽象工厂模式

  抽象工厂模式
  提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
  ProductA和ProductB是两个抽象产品,之所以为抽象,是因为它们都有可能有两种不同的实现
  而ProductA1、ProductA2和ProductB1、ProductB2就是对两个抽象产品的具体分类的实现
  IFactory是一个抽象工厂接口,它里面应该包含所有的产品创建的抽象方法。而ConcreteFactoryA和ConcreteFactoryB就是具体的工厂
  通常是在运行时刻再创建一个ConcreteFactory类的实例,这个具体的工厂再创建具有特定实现的产品对象,也就是说,为创建不同的产品对象,客户端应使用不同的具体工厂。 #include using namespace std;  class Product { public:     virtual void Show() const = 0; };  class ProductA1 : public Product { public:     virtual void Show() const override {         cout << "ProductA1" << endl;     } };  class ProductA2 : public Product { public:     virtual void Show() const override {         cout << "ProductA2" << endl;     } };  class ProductB1 : public Product { public:     virtual void Show() const override {         cout << "ProductB1" << endl;     } };  class ProductB2 : public Product { public:     virtual void Show() const override {         cout << "ProductB2" << endl;     } };  class IFactory { public:     virtual Product* CreateProductA() = 0;     virtual Product* CreateProductB() = 0; };  class ConcreteFactoryA : public IFactory { public:     virtual Product* CreateProductA() override {         return new ProductA1;     }     virtual Product* CreateProductB() override {         return new ProductB1;     } };  class ConcreteFactoryB : public IFactory { public:     virtual Product* CreateProductA() override {         return new ProductA2;     }     virtual Product* CreateProductB() override {         return new ProductB2;     } };  int main(int argc, char const *argv[]) {     ConcreteFactoryA fa;     Product *a1 = fa.CreateProductA();     Product *b1 = fa.CreateProductB();     a1->Show();     b1->Show();     delete a1;     delete b1;      ConcreteFactoryB fb;     Product *a2 = fb.CreateProductA();     Product *b2 = fb.CreateProductB();     a2->Show();     b2->Show();     delete a2;     delete b2;     return 0; }
  公众号:   cpp_yang
  个人微信:   yangxg_cxy
  今日头条:   程序员杨小哥
  B站:   https://space.bilibili.com/473029051
  知乎:   https://www.zhihu.com/people/cpp_yang

在新能源代步小车三挑四选终于拿下了零跑T03最早并没有买车的想法,无奈本人中了抖音的毒,定了一辆五菱宏光迷你,在等五菱的过程中打开了我对电动车车的研究。网上推荐最多的就是科莱威,奔奔,欧拉黑猫,一对比五菱宏光就被pass了,现代与起亚一季度新能源车出口量合计首次突破10万辆同比增加28。6李嫒嫒中国证券报中证网中证网讯(记者李嫒嫒)5月1日,据韩国汽车产业协会发布的数据,今年一季度现代和起亚的新能源汽车出口量合计首次突破10万辆,为11。1252万辆,同比增加28。你觉得买回来就吃灰的数码产品有哪些?在悟空问答上的606个问题,只写接地气的科技内容,欢迎关注。购物一时爽,一直购物一直爽。爽完之后,看看花呗和信用卡,想死的心都有讲一讲自己的体验吧,那些我生命中绝对不会轻易再购买的国家重点研发集成电路电子设计自动化(EDA)项目顺利过评国家重点研发计划基于高性能计算的集成电路电子设计自动化(EDA)平台项目顺利通过综合绩效评价2022年3月10日,由中科院微电子所EDA中心陈岚研究员牵头承担的国家重点研发计划高性国产内存条真的杀疯了!采用长鑫颗粒,台电马甲条150元8G说起打价格战,国产品牌绝对是最牛的,根本没有什么对手。最近国产内存条又打起了价格战,究其原因,我大胆猜测一下,就是想快速抢占DDR4市场。也许有网友说,现在DDR5内存条都上市半年五月换机建议看看这三款,性能强悍几乎无差评,关键价格还不贵五一长假开始,各品牌的手机也陆续发布,如果近期想换手机的朋友,可以考虑看看这几款,性能强悍几乎无差评,关键价格还不高,绝对会让你满意。realmeGTNeo32299起以射门员身份收购推特又添砝码?马斯克在找新金主上周大举抛售特斯拉套现后,马斯克可能还在寻找新的金主,为他收购推特减轻资金压力。媒体消息称,特斯拉CEO马斯克正在和一些私募股权投资公司对冲基金以及个人资产净值高的富豪磋商,希望通蔚来将与供应链伙伴合作加快恢复生产,预计今年9月交付ET5新京报贝壳财经讯(记者张冰)5月2日,蔚来在港交所发布的公告中表示,4月29日ET5首批全工艺生产线试制车在位于合肥NeoPark的全新制造工厂下线,预计2022年9月开始交付ET女朋友想要装个洗碗机,有没有用过的来给点建议?每个人的家里,最有烟火气的地方大概就是厨房了吧,一日三餐,柴米油盐,支撑起了温馨的小日子。美餐过后,洗碗却成了令人头疼的问题,因此不少家庭选择洗碗机来解放双手。而在选购的时候,又犯i74790K在2022年还有用武之地吗?我刚好可以回答这个问题,现在的单位主力电脑就是联想电脑,CPU应该还低一个档次,没有K。内存8G,240G固态硬盘。日常工作,非常棒的,感觉不到跟现在的十代十一代CPU电脑有任何区华为MateXs2发布了,华为MateX2还值得买吗?如果不考虑价钱的话,当然要买X2。我就是一直等新折叠屏(之前是mate40rs),XS2出来之后没兴趣了,买的X2不一样啊!X2三块屏幕,5G的,典藏版入手半年,除了打游戏电池用的
阳泉之火燎向太原,天元电器何以扶摇而上?阳泉,山西省辖地级市,市区人口约70万规模,一个典型的中国五线市场,却上演着鱼死网破的家电零售龙虎斗。阳泉一枝独秀早些年,阳泉家电市场被大连锁国美苏宁旗下各2家门店所割据,随后京东洗衣机市场稳中再进,干衣机市场异军突起作为人类100个最伟大的发明之一,洗衣机从诞生伊始就因其将劳动妇女从繁重辛苦的洗衣家务中解放出来,而受到人们广泛的关注与喜爱,成为人们居家生活不可或缺的刚需产品。10月19日,由中什么样的电视适合玩游戏?主要看这几点随着去年年底次时代主机的发售,电子游戏在全世界范围内又掀起了一次消费狂潮。与此同时,5G网络的商用化进程提速,也让过去数十年间停留在设想层面的云游戏概念逐渐成为现实。目前,已经有王分享一个超奇葩的电脑黑屏故障案例分享一个超奇葩的电脑黑屏故障案例,前天有同事反映,离开电脑几分钟,电脑屏幕就会无故黑屏。按以往经验肯定是电脑的电源设置有问题,于是在同事的电脑上关掉了休眠过了一会儿,同事又反映,还顺滑的码字感受杜伽K310银轴机械键盘使用体验大家好,我是南北桃源我办公室里的键盘是戴尔随电脑一起附带的薄膜键盘,由于每天码字的时间不短,导致一些常用的键位反应有些不太灵敏,于是我经常很使劲地去敲它,导致办公室的其他同事经常觉Excel表中含有图片,复制到另外的表跟随新表格单元格改变大小Excel表中含有图片,复制到另外的表跟随新表格单元格改变大小。平时在工作中,有些表格里面含有大量的图片,每次复制到新的表格上,新表格上的图片就是变化很大,很难调整。今天告诉大家一win10必备优化,告别卡顿,提升电脑运行极限相信大家都装微软的WIN10系统,WIN10带给我们好的体验,但同时有很功能是不必要,化化这些功能,可以有效提升我们电脑速率,维持最好的体验,让我们一起来手动试一试吧。效果不好不要新买的笔记本,只有C盘怎么办新买的笔记本,只有C盘怎么办?,今天在这里推荐小伙伴们使用这两款无损分区工具,可以让你随意对电脑进行分区操作哦第一款是DiskGenius这DiskGenius是一款磁盘分区及数据电脑开机显示黑屏,进不了系统解决办法电脑开机显示黑屏,进不了系统解决办法。平时我们开机的时候,会遇到电脑黑屏,出如以下提示出这个黑屏主要有以下这几个原因1硬盘分区时没有激活系统盘为主分区2硬盘连接问题,很可能是硬盘数大兄弟这种环境还能睡着,不是一般人啊!啊哈哈内心慌得一批在面临两个同等价值的选择时,我相信对于任何一个人都是特别残忍的,因为对于自己来说那两样东西缺一不可,但碍于世界是公平的,所以只能挑选一样。那么在女朋友和一个亿的人民币当中让你做选择华为低调发布新机,搭载中国芯7月27日晚,华为在线上低调发布了一款新机,Nova8SE活力版,采用一块6。6英寸的前置摄像头居中的挖孔屏LCD屏幕,分辨率为24001080,94的超高屏占比,外观呢是这样的。