/**************************************************************
简单工厂:
    1.产品的创建交给一个单独的类来管理
    2.此类提供全局的访问接口,根据输入条件的不同来创建不同的对象
使用:
    1.创建工厂,根据输入的条件来创建对应的产品
    2.在创建产品时,返回产品的接口指针
    3.通过此指针来操作相应的对象

***************************************************************/

#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");
    if (banana == NULL)
    {
        cout << "创建banana失败\n";
    }
    banana->getFruit();

system("pause");

}

设计模式---简单工厂模式(c++实现)相关推荐

  1. JavaScript设计模式--简单工厂模式例子---XHR工厂

    JavaScript设计模式--简单工厂模式例子---XHR工厂 第一步,Ajax操作接口(目的是起一个接口检测作用) (1)引入接口文件 //定义一个静态方法来实现接口与实现类的直接检验 //静态方 ...

  2. 三角形圆形创建与擦除java_设计模式---------------简单工厂模式

    设计模式---------------简单工厂模式 一.题目(Question) 使用简单工厂模式设计一个可以创建不同几何形状(如圆形.方形和三角形等)的绘图工具,每个几何图形都要有绘制draw()和 ...

  3. 设计模式—简单工厂模式

    前言 简单工厂模式是一种比较容易理解的设计模式 简单工厂模式介绍 在设计模式中,简单工厂模式可以理解为负责生产对象的一个类,当使用new 关键字创建一个对象时,此时该类就依赖于这个对象,也就是他们间的 ...

  4. 设计模式 - 简单工厂模式

    文章目录 设计模式 - 简单工厂模式 1.意图 2.实例 1.创建颜色接口 - 定义生产的产品是什么 2.创建颜色枚举 - 定义生产哪些类型的产品 3.根据颜色枚举创建产品 - 根据产品清单生产产品 ...

  5. 设计模式--简单工厂模式

    什么是工厂模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 在工厂模式中,我们在创建对象时不会对 ...

  6. C#设计模式--简单工厂模式

    设计模式: 简单工厂模式(Simple Factory Pattern) 介绍:简单工厂模式不是Gof23种设计模式之一.但它在实际的编程中经常被用到,而且思想也非常简单,下面简单举例说明: 简单工厂 ...

  7. C++设计模式--简单工厂模式

    概述 工厂模式:封装对象的实现.它可能是所有设计模式中最有用的模式之一了.这里要说的是简单工厂模式,又称为静态方法工厂模式,属于创建性模式.其原理就是通过传入的参数来判断应该创建什么对象. UML 类 ...

  8. 设计模式 简单工厂模式

    简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一.简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例.简单工厂 ...

  9. 面向对象编程设计模式--简单工厂模式讲解(历史上最简单明白的例子)

    工作之余,在看资料过程中发现一个极易理解的简单工厂模式的例子,自己亲自试练一番,感觉对这个设计模式不熟悉的朋友, 一看马上就知道是什么回事了. 简单工厂模式根据提供给它的数据,返回几个可能类中的一个类 ...

  10. java工厂模式 uml_深入浅出设计模式-简单工厂模式

    模式定义 简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一.简单工厂模式定义了一个创建对象的类,由这个类来封装实例化 ...

最新文章

  1. Canvas 的基本原理
  2. 【多线程】ConcurrentLinkedQueue 的实现原理
  3. Tomcat指定特定JDK版本
  4. 【排序算法】— 手写堆排序
  5. 深入理解JavaScript的闭包特性如何给循环中的对象添加事件
  6. H5之 Canvas图形实现
  7. JS与PHP向函数传递可变参数的区别
  8. Xbox360游戏收藏
  9. railscasts #1 Caching with Instance Variables
  10. C语言自学之路五(选择语句详解)
  11. Android随笔之——PackageManager详解
  12. 曝光!中国知名互联网公司背后的风投
  13. java whois_Java实现简单whois查询
  14. 李飞飞:我更像物理学界的科学家,而不是工程师|深度学习崛起十年
  15. 更改ubuntu默认文件管理器为deepin
  16. 必读论文 | 生成对抗网络经典论文推荐10篇
  17. 学习Python的建议
  18. 最简单的python语言程序设计_编程中最简单的语言Python,这样学或许更容易
  19. altera系列fifo和ram
  20. SPSS简单介绍及入门

热门文章

  1. UOJ269 清华集训2016 如何优雅地求和 下降幂多项式、NTT
  2. ubuntu1604 安装samba
  3. Python 实现单例模式的一些思考
  4. CCF 201604-4 游戏
  5. ECMAScript 6----字符串的扩展
  6. Maven的配置和使用(三)
  7. Web---session技术代码演示(request,session,servletContext)
  8. memcached(十)动态扩容
  9. 系统登陆后自动注销的解决办法!
  10. Cocos2d-x层(Layer)详解