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

山西城乡和建设厅网站首页应用公园下载

山西城乡和建设厅网站首页,应用公园下载,学做面包的网站,东城专业网站建设公司抽象工厂模式是一种设计模式#xff0c;它提供了一个接口来创建一系列相关或相互依赖的对象#xff0c;而无需指定它们具体的类。下面是一个使用 C 实现抽象工厂模式的示例#xff1a; // 抽象产品类 class AbstractProductA { public:virtual void DoSomething() 0; };cl…抽象工厂模式是一种设计模式它提供了一个接口来创建一系列相关或相互依赖的对象而无需指定它们具体的类。下面是一个使用 C 实现抽象工厂模式的示例 // 抽象产品类 class AbstractProductA { public:virtual void DoSomething() 0; };class AbstractProductB { public:virtual void DoSomething() 0; };// 抽象工厂类 class AbstractFactory { public:virtual AbstractProductA* CreateProductA() 0;virtual AbstractProductB* CreateProductB() 0; };// 具体产品 A1 类 class ConcreteProductA1 : public AbstractProductA { public:void DoSomething() override {std::cout ConcreteProductA1::DoSomething() std::endl;} };// 具体产品 A2 类 class ConcreteProductA2 : public AbstractProductA { public:void DoSomething() override {std::cout ConcreteProductA2::DoSomething() std::endl;} };// 具体产品 B1 类 class ConcreteProductB1 : public AbstractProductB { public:void DoSomething() override {std::cout ConcreteProductB1::DoSomething() std::endl;} };// 具体产品 B2 类 class ConcreteProductB2 : public AbstractProductB { public:void DoSomething() override {std::cout ConcreteProductB2::DoSomething() std::endl;} };// 具体工厂类 class ConcreteFactory1 : public AbstractFactory { public:AbstractProductA* CreateProductA() override {return new ConcreteProductA1();}AbstractProductB* CreateProductB() override {return new ConcreteProductB1();} };class ConcreteFactory2 : public AbstractFactory { public:AbstractProductA* CreateProductA() override {return new ConcreteProductA2();}AbstractProductB* CreateProductB() override {return new ConcreteProductB2();} };int main() {// 创建具体工厂对象AbstractFactory* factory1 new ConcreteFactory1();AbstractFactory* factory2 new ConcreteFactory2();// 通过工厂创建产品AbstractProductA* productA1 factory1-CreateProductA();AbstractProductA* productA2 factory2-CreateProductA();AbstractProductB* productB1 factory1-CreateProductB();AbstractProductB* productB2 factory2-CreateProductB();// 使用产品productA1-DoSomething();productA2-DoSomething();productB1-DoSomething();productB2-DoSomething();// 释放资源delete productA1;delete productA2;delete productB1;delete productB2;delete factory1;delete factory2;return 0; } 在上述示例中我们定义了抽象产品 AbstractProductA 和 AbstractProductB以及抽象工厂 AbstractFactory。具体的产品类 ConcreteProductA1、ConcreteProductA2、ConcreteProductB1 和 ConcreteProductB2 继承自抽象产品类并实现了具体的功能。具体的工厂类 ConcreteFactory1 和 ConcreteFactory2 继承自抽象工厂类并用于创建相应的具体产品。 在 main 函数中我们创建了两个具体工厂对象 factory1 和 factory2然后通过它们创建了具体的产品对象 productA1、productA2、productB1 和 productB2。最后我们使用这些产品对象执行相应的操作。 通过抽象工厂模式我们将产品的创建和使用分离使得系统更加灵活和可扩展。当需要添加新的产品或工厂时只需要添加相应的具体类并在工厂中进行实现而不需要修改现有代码的其他部分。
http://www.zqtcl.cn/news/139898/

相关文章:

  • 自动优化网站建设电话wordpress 后端
  • 淘客网站怎么做啊做网站是什么工作
  • 新媒体 网站建设 管理规范专门卖医疗器械的网站
  • 高水平建设专业网站微商城网站建设平台合同
  • 策划的网站在哪个网站做一照一码
  • wordpress页面如何排序网站优化推广软件
  • 网站描述和关键词怎么写智慧团建网站pc端
  • 苏州营销型网站建设推广医院做网站备案需要哪些资料
  • 怎么看是哪家做的网站呼市浩特网站建设
  • 如何建设淘宝客网站全网营销包括什么
  • 网站建设服务市场广州市几个区
  • 二手网站建设论文答辩校园官方网站如何制作
  • 高科技展厅效果图设计商丘 峰少 seo博客
  • 太原网站优化工具方法广州天河 网站建设
  • 西安市做网站公司有哪些秦皇岛网站制作
  • 用ps做美食网站河北网站设计制作
  • 怎么做自己网站的APIwordpress memcache
  • 昆山高端网站建设机构公司展厅装修效果图
  • 服务器怎样建设网站中国建设银行货币基金网站
  • 沈阳专业制作网站公司吗万盛集团网站建设
  • 做汽车价格的网站东莞官方网站建设
  • 方案策划网站企业做推广可以发哪些网站
  • 天河网站建设世界建筑设计公司排名
  • 电商网站制作价格和硕网站建设
  • 深圳市门户网站建设哪家好微信小程序案例源码
  • 信息产业部icp备案中心网站asp网站制作教程
  • 品牌网站建设的意义建站公司联系电话
  • 网站建设 备案什么意思哪里有做效果图的网站
  • 教你免费申请个人网站html网站建设方案
  • 网站运营方案怎么写?在线制作手机网站