/*********************************************************
工厂方法:
    与简单工厂的区别,将产品的创建分别委托给单独的类,即一个工厂对应一个产片
    而不是将所有产品的创建交给一个类来管理
    1.首先创建工厂
    2.通过此工厂来获取对应的产品(将对象的创建放到工厂中创建)
***********************************************************/
#include "iostream"
using namespace std;
class Fruit
{
public:
    virtual void sayname() = 0;
};
class FruitFactory
{
public:
    virtual Fruit* getFruit() = 0;
};
class Banana : public Fruit
{
public:
    virtual void sayname()
    {
        cout << "Banana " << endl;
    }
};
class BananaFactory : public FruitFactory
{
public:
    virtual Fruit* getFruit()
    {
        return new Banana;
    }
};
class Apple : public Fruit
{
public:
    virtual void sayname()
    {
        cout << "Apple " << endl;
    }
};
class AppleFactory : public FruitFactory
{
public:
    virtual Fruit* getFruit()
    {
        return new Apple;
    }
};
void main()
{
    FruitFactory * ff = new BananaFactory();
    Fruit *fruit = ff->getFruit();
    fruit->sayname();
    delete fruit;
    delete ff;

ff = new AppleFactory();
    fruit = ff->getFruit();
    fruit->sayname();
    delete fruit;
    delete ff;
    system("pause");
}

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

  1. 4. 星际争霸之php设计模式--工厂方法模式

    题记 ============================================================================== 本php设计模式专辑来源于博客(jy ...

  2. java 工厂方法_java设计模式-工厂方法模式

    1.工厂方法(FactoryMethod)模式的定义 定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中.这满足创建型模式中所要求的"创建与使用相分离" ...

  3. 设计模式 | 工厂方法模式及典型应用

    工厂方法模式 工厂方法模式(Factory Method Pattern):定义一个用于创建对象的接口,让子类决定将哪一个类实例化.工厂方法模式让一个类的实例化延迟到其子类. 工厂方法模式又简称为工厂 ...

  4. python工厂模式 django_python设计模式-工厂方法模式

    题目:假设你有一个 pizza 店,功能包括下订单.做 pizza,你的代码会如何写呢? def order_pizza(): pizza = Pizza() pizza.prepare() pizz ...

  5. 工厂方法模式_1天1个设计模式——工厂方法模式

    意图 工厂方法模式是一种创建型设计模式, 其在父类中提供一个创建对象的方法, 允许子类决定实例化对象的类型. 问题 假设你正在开发一款物流管理应用.1.0版本只能支持处理卡车运输,因此大部分的代码都位 ...

  6. [设计模式] ------ 工厂方法模式

    工厂方法模式 手机厂造手机,肥皂厂造肥皂,药品厂造药品. 假设有一大类对象A1,A2,A3,A4-他们都有一个共同的父类A A1可以想成是手机,A2可以想成肥皂- (下面例子的A1Factory就是手 ...

  7. JAVA设计模式 - 工厂方法模式

    工厂方法模式(Factory Pattern) 是一种创建型设计模式 , 它是Java中最常用的设计模式之一 . 1 . 工厂方法模式的定义 定义一个创建对象的接口 , 让子类决定实例化哪一个类 . ...

  8. Java设计模式—工厂方法模式抽象工厂模式

    工厂方法模式与抽象工厂模式都是设计模式中重要而且常见的模式.       工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法使一个类的实例化延迟到其子类. 通用类图如下: 在 ...

  9. C#设计模式--工厂方法模式

    0.C#设计模式-简单工厂模式 设计模式: 工厂方法模式(Factory Method Pattern) 介绍:简单工厂模式是要在工厂类中通过数据来做个决策,在工厂类中的多个类中实例化出来其中一个要用 ...

  10. 设计模式 - 工厂方法模式 - 基于 Java 实现

    常见和工厂有关的设计模式 和工厂相关的设计模式主要有三种,工厂方法模式,抽象工厂模式: 在前面的博客中介绍了简单工厂模式,本篇博客主要介绍的是工厂方法模式 什么是工厂方法模式 工厂方法模式是简单工厂的 ...

最新文章

  1. 全网最简单的网络图画法,小白福音包学包会
  2. mysql query cache优化
  3. Java中的LongAdder和AtomicLong有什么区别?
  4. python与 积分
  5. 晚上答辩的理论知识准备
  6. JavaScript学习(七十六)—this的指向问题
  7. 防火墙限制TCP流量新方法
  8. 在手机上抓包HTTP/HTTPS的请求
  9. 标准Lena测试图像下载
  10. 路由器当ap用虚拟服务器不能用,解决用TPLINK路由器配置模拟AP时Internet连接共享是空白的问题...
  11. Microsoft Teams 创建Outlook邮件组的Team
  12. 基于python的网络聊天室论文_Python基于Socket实现简单聊天室
  13. gold storm翔_牙狼GOLD STORM翔的人物简介
  14. java 倒计时_Java倒计时实现的三种简单方式
  15. easyui数据表格批量删除(datagrid 的deleteRow方法)
  16. shell 多个引号冲突_Shell 引号嵌套
  17. 20 个关于程序员的笑话,看懂了,你就不会笑了,也不会羡慕他们工资高了!...
  18. JavaWeb+Tomcat+Servlet使用<c:foreach>标签时,jsp等网页文件获取不到request域中的数据
  19. Visual Biasc 函数速查
  20. 在C语言中使用二分法算法思想解决猜商品价格问题

热门文章

  1. 11-散列1 电话聊天狂人(25 分)
  2. 基于JAX-WS的Web Service服务端/客户端 ;JAX-WS + Spring 开发webservice
  3. 显示器驱动程序已停止响应 并且已成功恢复
  4. Solidworks踩坑随笔
  5. Security+ 学习笔记31 云计算参考架构
  6. Ansible详解(十六)——Ansible配合Redis
  7. Linux Apache服务详解——Apache服务访问控制
  8. 华三H3c 交换机 vlan Hybird端口配置
  9. kali 19.2 搭建ftp服务器
  10. 解决atomikos在oracle应用中的XA事务异常 Error in recovery