2020年10月14日星期三

【C++设计模式一】C++简单工厂模式

(1)定义

定义一个简单工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。

(2)结构

简单工厂模式有以下的结构:

  • 工厂(Factory):根据客户提供的具体产品类的参数,创建具体产品实例;
  • 抽象产品(AbstractProduct):具体产品类的基类,包含创建产品的公共方法;
  • 具体产品(ConcreteProduct):抽象产品的派生类,包含具体产品特有的实现方法,是简单工厂模式的创建目标。

(3)实例

SimpleFactory.h

#ifndef SIMPLEFACTORY_H#define SIMPLEFACTORY_H#include <iostream>#include <string>//抽象产品类AbstractProduct(并非真正意义上的抽象类,含有纯虚函数才是抽象类)class AbstractSportProduct{public:	AbstractSportProduct(){}	~AbstractSportProduct(){}	//虚函数	virtual void printName(){}	virtual void play(){}};//具体产品类Basketballclass Basketball :public AbstractSportProduct{public:	Basketball(){}	~Basketball(){}	//具体实现方法	void printName();		void play();};//具体产品类Footballclass Football :public AbstractSportProduct{public:	Football(){}	~Football(){}	//具体实现方法	void printName();	void play();};//工厂类class Factory{public:	Factory(){}	~Factory(){}	AbstractSportProduct *getSportProduct(std::string productName);};

没有评论:

发表评论

跨境电商资讯:外贸宣传平台有哪些(出口的

现在很多做外贸的人都非常关注 外贸企业怎么推广 ,而现在推广的途径和平台有很多,企业如果都做,成本和时间精力是一个问题,而且并不是所有的推广渠道都是有用的。今天云程网络就来为大家盘点几个有效的外贸推广渠道。 一、海外社交媒体营销 Facebook,领英等海外社交媒体营销在近几年得...