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

设计模式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

大数据编程入门Java封装封装是面向对象的重要原则,它是将对象的属性和操作(或服务)组合成一个独立的整体,并尽可能地隐藏对象的内部实现细节。今天小编将为大家带来大数据编程入门Java封装这篇文章。一Java大数据编程入门Java异常处理在使用Java编写程序的时候,会出现一些错误,我们通常称之为异常。在我们遇到异常的时候应该怎么去处理呢?今天小编将为大家带来大数据编程入门Java异常处理这篇文章。一异常的分类在J大数据培训培训大数据有用吗?在许多人打算想要转到其它行业从事工作的时候,面对大数据这个选项的时候,人们常常会提出这样的问题培训大数据有用吗?在人们提出培训大数据有没有用这种问题的时候,一般就是担心能不能学到东学习大数据需要哪些数学知识?大数据作为一个无法被常规工具进行捕捉并处理的数据集合,很多人一提起大数据定义中的数据集合就会联想到数学,那么学习大数据需要哪些数学知识呢?大数据技术作为一门涉及到多门学科知识的IT大数据编程入门Java接口Java接口是一系列方法的声明,是一些方法特性的集合,接口只有方法特性,没有方法实现,因此,这些方法可以在不同的地方由不同的类实现,并且这些实现可以有不同的行为,今天小编将为大家带大数据开发前景如何?大数据开发作为大数据的就业方向之一,是许多人转到大数据这个行业的选择之一,但是仍然有很多人不是很清楚大数据开发前景如何,不用担心,小编这就为大家分析一下大数据开发的就业前景。首先从大数据编程入门JavaOverrideampampampOverloadOverride和Overload翻译成中文分别是重写和重载,是Java面向对象中两种方法,今天小编将为大家带来大数据编程入门JavaOverrideOverload这篇文章为大家优质手机推荐官背部展示这是一台难得一遇的双接拼色华为p30por,墨玉蓝的配色让机器整体看起来质感非常好,后盖带磨砂工艺,双接拼色,4颗竖排摄像头,经典的50倍莱卡认证摄像组合,成像效果惊人。旁三星note10拍摄视频解析力到底如何?野外较真去视频加载中双手扶持手机,慢动作模式进行拍摄,一镜到底,成像生动,极富感染力,画面中我们可以看到近处的水泡沸腾翻滚,奔流不息也可以看到远处溅起的水花在空中飞舞,又缓慢落下,每一帧画面三星note10记录襄阳古城墙古城楼金庸先生著作射雕英雄传中,郭靖和黄蓉为了抗拒辽兵,最后坚守的阵地,就在这里。游客中心襄阳古城墙护城河距今已有5200年至4200年的历史。近代经过历史专家修葺,维护,加固后,盛名列车时刻表手机版盛名列车时刻表手机版是一款查询全国列车时刻表的单机版软件,它的运转不需求网络撑持,离线也能提供准确票价的时刻表软件。通过它您可以便利的查询全国铁路时刻表,无论你在身处何处只需您需求
为年轻人刷新智能电动汽车上限哪吒U智哪吒V潮焕新上市为年轻人刷新智能电动汽车上限哪吒U智哪吒V潮上市4月6日,哪吒汽车旗下两款主力产品同步迎来2022款车型上市哪吒U智和哪吒V潮,树立同级智能潮酷体验风向标。秉承哪吒汽车科技平权的价晚报北京封城静默是谣言,抢菜没必要!西藏航空公司航班偏出跑道起火,36人受伤腾讯放弃收购黑鲨科技宏观要闻商务部正会同相关部门研究包括便利跨境电商出口退换货在内的政策举措据第一财经,商务部发言人在例行发布会上介绍,跨境电商等外贸新业态顺应了国际贸易发展趋势,满足了各国消费者个性iPhone14OLED面板供应商京东方或将出局,苹果按原计划上市随着我们越来越接近iPhone14号的发布,我们最近了解到可能会在9月13日发布。有消息人士称,京东方可能因更改面板设计被苹果要求停止供货iPhone13。京东方从去年开始为6。1租房幸福感报告拥有独立卫生间的租房者最幸福?2月27日,闲鱼租房发布租房幸福感报告。可爱鲜艳的漫画,描绘出居住在出租屋的年轻人的生活图谱。租房幸福感报告显示,提升幸福感的租房因素分别是房租占收入20居住在次繁华生活区独立卫生手机进水能用吹风机吹吗?相信现在很多人都有重度的手机依赖症,无论是吃饭,上厕所等等都是手机不离身,就连洗澡的时候手机都会放在边上,所以有的时候就会一不小心把水给弄到手机里面去,如果手机进水能用吹风机吹吗?联发科推出首款5G毫米波天玑处理器雷峰网5月23日消息,本周一,联发科发布旗下首款支持5G毫米波的移动平台天玑1050,支持毫米波和Sub6GHz全频段5G网络,提供高速率和广覆盖的5G连接,为用户带来更加完整的5硅光技术即将爆发图片来源视觉中国文半导体产业纵横随着摩尔定律逐渐变缓,硅光技术是延续摩尔定律的发展方向之一。当格芯推出硅光代工平台,誓要成为领先硅光子代工厂长电科技预测硅光封装成为未来趋势之时,这国家发布重磅科技伦理治理文件基因编辑人工智能等技术研发将得到规范基因编辑人工智能觉醒异种器官移植个人网络信息安全科学技术不断迅猛发展的同时,也给社会带来新的风险和不确定性,同时可能引发一些前所未有的伦理挑战。中办国办近日印发关于加强科技伦理治理航天技术让盲人看清世界利用航天AI云平台智能识别真实场景实时3D建模等最新技术,中国航天科工四院十七所研发出一款新型助盲智能眼镜。其可智能识别障碍物红绿灯等场景,障碍识别精度达厘米级,让盲人出行更加安全元宇宙一个各项顶流技术的组装体与全景图元宇宙(Metaverse)是一个聚焦于社交链接的3D虚拟世界的大型网络,它包括物质世界和虚拟世界以及与虚拟经济的整合。元宇宙意味着我们要站在自身的对立面,拥抱突破一个未知的世界。6G概念相关个股名单(A股)消息驱动第二届全球6G技术大会将于3月22日线上召开。在本届全球6G技术大会上,将展现6G技术研发的创新思路和最新成果。据主办方介绍,未来6G业务将呈现出沉浸化智慧化全域化等新发展