设计模式---简单工厂模式(c++实现)

来源:互联网 发布:影楼设计软件 编辑:程序博客网 时间:2024/05/29 13:17
//简单工厂模式:
// 将所有的产品的创建工作都交给一个工厂类去完成,然后在创建出对象之后,返回产品类的基类指针。
//在我看来,这就是多态的极致发挥,对象的绑架技术(使用基类指针去操作,派生类的产品)
//   就是将产品封装出一个抽象类,然后去派生出不同的类去创建不同的产品。这么抽象的目的是,
// 提供操作对象的统一接口(可以使用基类指针去调用不同的子类对象的成员函数,实现多态)
/***************************************************************

基类指针,指向哪个对象,就可以调用哪个对象的成员函数     这句话超级重点

这也是设计模式能够这么猛的根本原因(多态)

***************************************************************/
#include <iostream>
using namespace std;
class Fruit
{
public:
virtual void getFruit() = 0;
};
class Banana : public Fruit
{
public:
virtual void getFruit()
{ cout << "香蕉" << endl;}
};
class Pear : public Fruit
{
public:
virtual void getFruit()
{ cout << "梨子" << endl;}
};
class Factory
{
public:
static Fruit* Create(char *name)
{
Fruit *tmp = NULL;
if (strcmp(name, "pear") == 0)
{ tmp = new Pear();}
else if (strcmp(name, "banana") == 0)
{ tmp = new Banana();}
else
{ return NULL;}
return tmp;
}
};
void main()
{
Fruit *pear = Factory::Create("pear");
if (pear == NULL)
{ cout << "创建pear失败\n";}
pear->getFruit();
Fruit *banana = Factory::Create("banana");
banana->getFruit();
system("pause");

}

来源------传智博客---王保明

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 山东省直医保卡丢失怎么办 高铁票如果错过了怎么办 动车错过了时间怎么办 长途动车错过了怎么办 动车如果错过了怎么办 没有取票错过了怎么办 动车出站没检票怎么办 火车晚点耽误了下班车怎么办 动车票中途丢了怎么办 购买二手房异地铁路公积金怎么办 沈阳公积金卡丢了怎么办 住宅专项维修资金用完了怎么办 广州出租车丢了东西怎么办 广州的士丢了东西怎么办 网上找兼职被骗了怎么办 海信空调开不了机怎么办 海信空调遥控器开不了怎么办 学生遭套路贷反被仲裁怎么办 赏脸打错字尝脸怎么办 红掌的花变黑了怎么办 红掌花苞发黑了怎么办 水培植物腐根了怎么办 水培绿萝水发臭怎么办 水里养花根烂掉怎么办 桅子花叶子发黑怎么办 大株月季烂根怎么办 月季水浇多了烂根的怎么办 金桔盆栽烂根怎么办 盆栽的长寿果树烂根怎么办 家里的石榴烂根怎么办 山桔盆栽烂根怎么办 养的植物烂根怎么办 桅子花叶子长霉怎么办 紫薇花叶子干了怎么办 高层玻璃阳台往下看恐高怎么办 比熊放阳台叫怎么办 海员入职体检不合格怎么办 联币金融立案投资人怎么办 联币金融的投资怎么办 养老保险领了几个月就挂了怎么办 高铁餐吧乘务员东西卖不出去怎么办