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

建设银行租房平台网站怎样注册企业邮箱免费

建设银行租房平台网站,怎样注册企业邮箱免费,建站的公司,响应式网站导航栏模板这种类型的设计模式属于创建型模式#xff0c;它提供了一种创建对象的最佳方式。在工厂模式中#xff0c;我们在创建对象时不会对客户端暴露创建逻辑#xff0c;并且是通过使用一个共同的接口来指向新创建的对象。   工厂模式主要使用了C的多态特性。将存在继承关系的类它提供了一种创建对象的最佳方式。在工厂模式中我们在创建对象时不会对客户端暴露创建逻辑并且是通过使用一个共同的接口来指向新创建的对象。   工厂模式主要使用了C的多态特性。将存在继承关系的类通过一个工厂类创建对应的子类派生类对象。在项目复杂的情况下可以便于子类对象的创建。   工厂模式的实现方式可分别简单工厂模式、工厂方法模式、抽象工厂模式每个实现方式都存在优和劣。   以制鞋厂为例对这三种工厂模式进行举例说明 1. 简单工厂模式 1.1 UML图 类比情形鞋厂可以指定生产耐克、阿迪达斯和李宁牌子的鞋子。哪个鞋炒的火爆老板就生产哪个看形势生产。 UML图如下 一个工厂类包含如下三要素 工厂类工厂模式的核心类会定义一个用于创建指定的具体实例对象的接口。抽象产品类是具体产品类的继承的父类或实现的接口。具体产品类工厂类所创建的对象就是此具体产品实例。 1.2 具体代码实现 /*** Shoes为鞋子的抽象类基类接口函数为Show()用于显示鞋子广告。* NiKeShoes、AdidasShoes、LiNingShoes为具体鞋子的类分别是耐克、阿迪达斯和李 宁鞋牌的鞋它们都继承于Shoes抽象类。*/ #includeiostream using namespace std;// 鞋子抽象类 class Shoes { public:virtual ~Shoes() {}virtual void Show() 0; // 纯虚函数在子类实现 };// 耐克鞋子 class NiKeShoes : public Shoes { public:void Show(){std::cout 我是耐克球鞋我的广告语Just do it std::endl;} };// 阿迪达斯鞋子 class AdidasShoes : public Shoes { public:void Show(){std::cout 我是阿迪达斯球鞋我的广告语:Impossible is nothing std::endl;} };// 李宁鞋子 class LiNingShoes : public Shoes { public:void Show(){std::cout 我是李宁球鞋我的广告语Everything is possible std::endl;} };enum SHOES_TYPE {NIKE,LINING,ADIDAS };// 总鞋厂 class ShoesFactory { public:// 根据鞋子类型创建对应的鞋子对象Shoes *CreateShoes(SHOES_TYPE type){switch (type){case NIKE:return new NiKeShoes();break;case LINING:return new LiNingShoes();break;case ADIDAS:return new AdidasShoes();break;default:return NULL;break;}} };int main() {ShoesFactory shoesfactory;Shoes* ptr_nike_shoes shoesfactory.CreateShoes(NIKE);if(ptr_nike_shoes ! NULL){ptr_nike_shoes-Show();delete ptr_nike_shoes;ptr_nike_shoes NULL;} Shoes* ptr_adidas_shoes shoesfactory.CreateShoes(ADIDAS);if(ptr_adidas_shoes ! NULL){ptr_adidas_shoes-Show();delete ptr_adidas_shoes;ptr_adidas_shoes NULL;}Shoes* ptr_lining_shoes shoesfactory.CreateShoes(LINING);if(ptr_lining_shoes ! NULL){ptr_lining_shoes-Show();delete ptr_lining_shoes;ptr_lining_shoes NULL;}return 0; }2. 工厂方法模式 2.1 UML图 **类比情形**现各类鞋子抄的非常火热于是为了大量生产每种类型的鞋子则要针对不同品牌的鞋子开设独立的生产线那么每个生产线就只能生产同类型品牌的鞋。 UML图 工厂方法模式的结构组成 抽象工厂类工厂方法模式的核心类提供创建具体产品的接口由具体工厂类实现。具体工厂类继承于抽象工厂实现创建对应具体产品对象的方式。抽象产品类它是具体产品继承的父类基类。具体产品类具体工厂所创建的对象就是此类。 2.2 具体代码实现 #includeiostream using namespace std;// 鞋子抽象类 class Shoes { public:virtual ~Shoes() {}virtual void Show() 0; // 纯虚函数在子类实现 };// 耐克鞋子 class NiKeShoes : public Shoes { public:void Show(){std::cout 我是耐克球鞋我的广告语Just do it std::endl;} };// 阿迪达斯鞋子 class AdidasShoes : public Shoes { public:void Show(){std::cout 我是阿迪达斯球鞋我的广告语:Impossible is nothing std::endl;} };// 李宁鞋子 class LiNingShoes : public Shoes { public:void Show(){std::cout 我是李宁球鞋我的广告语Everything is possible std::endl;} };// 总鞋厂实现 class ShoesFactory { public:virtual Shoes *CreateShoes() 0;virtual ~ShoesFactory() {} };// 耐克生产鞋厂 class NikeProducer : public ShoesFactory { public:Shoes *CreateShoes(){return new NiKeShoes();} };// 阿迪达斯生产鞋厂 class AdidasProductor : public ShoesFactory { public:Shoes *CreateShoes(){return new AdidasShoes();} };// 李宁生产鞋厂 class LiningProductor : public ShoesFactory { public:Shoes *CreateShoes(){return new LiNingShoes;} };int main() {// 生产耐克流程 //// 鞋厂开设耐克生产线ShoesFactory *niKeProducer new NikeProducer();// 耐克生产线产出球鞋Shoes *nikeShoes niKeProducer-CreateShoes();// 耐克球鞋广告喊起nikeShoes-Show();// 释放资源delete nikeShoes;delete niKeProducer;// 生产阿迪达斯流程 //// 鞋厂开设阿迪达斯生产者ShoesFactory *adidasProducer new AdidasProductor();// 阿迪达斯生产线产出球鞋Shoes *adidasShoes adidasProducer-CreateShoes();// 阿迪达斯球鞋广喊起adidasShoes-Show();// 释放资源delete adidasShoes;delete adidasProducer;return 0; }3. 抽象工程模式 场景类比鞋厂为了扩大了业务不仅只生产鞋子把运动品牌的衣服也一起生产了。 3.1 UML图 3.2 具体代码实现 抽象工厂模式的结构组成和工厂方法模式一样 抽象工厂类工厂方法模式的核心类提供创建具体产品的接口由具体工厂类实现。具体工厂类继承于抽象工厂实现创建对应具体产品对象的方式。抽象产品类它是具体产品继承的父类基类。具体产品类具体工厂所创建的对象就是此类。 /* Clothe和Shoes分别为衣服和鞋子的抽象产品类。 NiKeClothe和NiKeShoes分别是耐克衣服和耐克衣服的具体产品类。 */ #include iostream using namespace std;// 衣服基类 class Clothe{ public:virtual void Show() 0;virtual ~Clothe(){} };class NikeClothe : public Clothe{ public:void Show(){std::cout 我是耐克衣服时尚我最在行 std::endl;} };// 鞋子基类 class Shoes{ public:virtual void Show() 0;virtual ~Shoes(){}; };class NikeShoes : public Shoes{ public:void Show(){std::cout 我是耐克球鞋让你酷起来 std::endl;} };// 总厂 class Factory{ public:virtual Shoes *CreateShoes() 0;virtual Clothe *CreateClothe() 0;virtual ~Factory() {} };class NikeProducer: public Factory{ public:Shoes *CreateShoes(){return new NikeShoes();}Clothe *CreateClothe(){return new NikeClothe();} };int main(int argc, char *argv[]){Factory *nike_producer new NikeProducer();Clothe *nike_clothe nike_producer-CreateClothe();Shoes *nike_shoes nike_producer-CreateShoes();nike_clothe-Show();nike_shoes-Show();delete nike_producer;delete nike_clothe;delete nike_shoes; }【参考连接】 https://zhuanlan.zhihu.com/p/83535678 https://zhuanlan.zhihu.com/p/83537599进阶版工厂类
http://www.tj-hxxt.cn/news/143901.html

相关文章:

  • 十堰做网站最好的公司WordPress页面加分类文章
  • 成都哪家做网站wordpress 当前分类名称
  • 南通建设工程造价信息网站哈尔滨seo优化专注
  • WordPress多站点同步设置哪个博客可以做单页网站
  • 网站制作自助wordpress 3 小工具运行php
  • 哪家网站优化公司好网站建设源码开发
  • 龙信建设集团有限公司网站建设银行官方网站客户端
  • 网站丢失怎么解决网站做备案
  • 国内全屏网站欣赏app拉新平台哪个好佣金高
  • 个人注册公司网站空间象屿做核放单的网站
  • 原创网站源码客户端网站建设文档
  • 有哪些做农产品的网站有哪些得物app的网络营销分析论文
  • 门户网站的首页模板无极网络是什么意思
  • php投票网站seo短视频网页入口引流在线
  • 电商网站设计公司可去亿企邦百度竞价开户需要多少钱
  • 网站正在建设中代码鲜花网站建设的目标
  • 学做网站后台开发长沙网络公司
  • 网站栏目类型鄂尔多斯建设招投标网站
  • 温州英文网站建设微信小程序组件库
  • 丹阳网站建设价格查询网站备案查询
  • 网站电脑培训班办公软件南昌地宝网app
  • 便宜网站制作公司网站建设与维护实训总结
  • 网站开发流程书籍做网页培训
  • 做民宿怎么登录网站苏州网站建设相关技术
  • 网站制作产品资料开源网站搭建
  • 网站备案用英文怎么说移动网站开发教学大纲
  • 非营利组织网站建设会计分录蜘蛛网站长工作职责
  • 网站建设的提升容县网站建设
  • 定州住房和城乡建设局网站wordpress id清0
  • 上海正规建设网站私人订制广州设计网站培训学校