当前位置: 首页 > 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.pierceye.com/news/139898/

相关文章:

  • html5网站开发实例书籍凡科建站代理
  • 与建设部网站网站注册登录页面设计
  • 企业网站推广计划免费最新如何建设网站教程视频
  • 17一起做网站普宁站好看个人网页模板
  • 民治营销网站专业网站建设价格最优
  • 免费的html网站做柜子喜欢上哪些网站看
  • 网站没备案怎么做加速现代装修风格三室两厅效果图
  • 互助平台网站建设网上商城怎么购物
  • 百度知道山东网站建设建设网站成本预算
  • 人人做免费网站网站建站是 什么
  • 以背景做网站视频为单位网站建设实施方案
  • 简洁大气企业网站模板西安个人做网站
  • 做一个网站需要到哪里做辽宁同鑫建设网站
  • 开发网站监控推荐扬中市建设局网站
  • 手机网站根目录简述一个网站设计的主要步骤
  • 网站改版seo建议网页设计师的能力
  • 网站上线前应该备案吗温州网站建设风格
  • 网站建设书籍免费聊城市东昌府区建设路小学网站
  • 网站标题优化怎么做找人一起做素材网站
  • 如何创建个人网站模板用织梦做模板网站
  • 平台建站建设做网站一定要有营业执照吗
  • 如何把学校网站建设好天猫店铺购买
  • 网站的建设和推广企业网站建设的主要目的是
  • html5 公众号 网站开发工程公司名称
  • 公司做网站那家好网站二维码怎么制作
  • 鼓楼区建设房产和交通局网站网站全屏图片怎么做
  • 外贸订单流失严重番禺网站建设优化推广
  • 做网站送邮箱电商网站建设行情
  • f2c网站建设珠海手机网站建设费用
  • 网站建设的策划书wordpress相册代码