C++设计模式——简单工厂模式(1)

所谓简单工厂模式,是一种实例化对象的方式,只要输入需要实例化对象的名字,就可以通过工厂对象的相应工厂函数制造你所需要的对象。
简单工厂模式的核心是:对于一个父类对象的多个继承子类,工厂对象的工厂函数根据用户的输入,自动new出一个子类对象并返回一个父类指针,这样利用父类的指针执行父类的虚函数,就可以动态绑定子类的重写函数,从而实现多态。

#define  _CRT_SECURE_NO_WARNINGS 
#include <iostream>

using namespace std;

class Fruit
{
public:
	Fruit(string kind)
	{
		this->kind = kind;
		if (kind == "apple") {
			//代表苹果
			//苹果的初始化方式
		}
		else if (kind == "banana") {
			//代表香蕉
			//香蕉的初始化方式
		}
	}

	void getName() {
		if (this->kind == "apple") {
			cout << "我是苹果" << endl;
		}
		else if (this->kind == "banana"){
			cout << "我是香蕉" << endl;
		}
	}
private:
	string kind;//代表水果的种类
};

int main(void)
{
	//创建一个苹果
	Fruit *apple = new Fruit("apple");
	apple->getName();
	delete apple;

	//main函数跟Fruit类的构造函数耦合度高, 随着水果种类的增加 构造函数越来越复杂
	
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值