设计模式_02_简单工厂

本文介绍了简单工厂模式的概念,通过C++代码展示了如何使用Factory类根据传入的类型动态创建ProductOne和ProductTow实例。主要讲解了产品基类、子类以及createProduct函数的用法。
摘要由CSDN通过智能技术生成

简单工厂

1.简单工厂的简单介绍与简单实现

简单工厂可以说就是把new这一步骤放到Factory类中来做。假如我有一个产品j基类名为Product,产品基类有两个子类分别是ProductOne和ProductTow。Factor类主要就是生产(new)这两个子类产品。

Product基类:

class Product
{
public:
	virtual void test(std::string s) = 0;
protected:
	Product() {};	//屏蔽构造函数
};

ProductOne和ProductTow子类:

class ProductOne
	: public Product
{
public:
	virtual void test(std::string s)
	{
		std::cout << "ProductOne: " << s << "\n";
	}
};

class ProductTow
	: public Product
{
public:
	virtual void test(std::string s)
	{
		std::cout << "ProductTow: " << s << "\n";
	}
};

Factory类:

createProduct函数根据传入进来的类型来生产出对应的产品
class Factory
{
public:
	static Product* createProduct(int type)
	{
		Product* pProduct = nullptr;
		if (type == 1)
		{
			pProduct = new ProductOne;
		}
		else if (type == 2)
		{
			pProduct = new ProductTow;
		}
		return pProduct;
	}
};

main中使用:

int main(void)
{
	Factory::createProduct(1)->test("测试One");
	Factory::createProduct(2)->test("测试Tow");
	return 0;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值