设计模式---工厂方法模式(c++实现)
/*********************************************************
工厂方法:
与简单工厂的区别,将产品的创建分别委托给单独的类,即一个工厂对应一个产片
而不是将所有产品的创建交给一个类来管理
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++实现)相关推荐
- 4. 星际争霸之php设计模式--工厂方法模式
题记 ============================================================================== 本php设计模式专辑来源于博客(jy ...
- java 工厂方法_java设计模式-工厂方法模式
1.工厂方法(FactoryMethod)模式的定义 定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中.这满足创建型模式中所要求的"创建与使用相分离" ...
- 设计模式 | 工厂方法模式及典型应用
工厂方法模式 工厂方法模式(Factory Method Pattern):定义一个用于创建对象的接口,让子类决定将哪一个类实例化.工厂方法模式让一个类的实例化延迟到其子类. 工厂方法模式又简称为工厂 ...
- python工厂模式 django_python设计模式-工厂方法模式
题目:假设你有一个 pizza 店,功能包括下订单.做 pizza,你的代码会如何写呢? def order_pizza(): pizza = Pizza() pizza.prepare() pizz ...
- 工厂方法模式_1天1个设计模式——工厂方法模式
意图 工厂方法模式是一种创建型设计模式, 其在父类中提供一个创建对象的方法, 允许子类决定实例化对象的类型. 问题 假设你正在开发一款物流管理应用.1.0版本只能支持处理卡车运输,因此大部分的代码都位 ...
- [设计模式] ------ 工厂方法模式
工厂方法模式 手机厂造手机,肥皂厂造肥皂,药品厂造药品. 假设有一大类对象A1,A2,A3,A4-他们都有一个共同的父类A A1可以想成是手机,A2可以想成肥皂- (下面例子的A1Factory就是手 ...
- JAVA设计模式 - 工厂方法模式
工厂方法模式(Factory Pattern) 是一种创建型设计模式 , 它是Java中最常用的设计模式之一 . 1 . 工厂方法模式的定义 定义一个创建对象的接口 , 让子类决定实例化哪一个类 . ...
- Java设计模式—工厂方法模式抽象工厂模式
工厂方法模式与抽象工厂模式都是设计模式中重要而且常见的模式. 工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法使一个类的实例化延迟到其子类. 通用类图如下: 在 ...
- C#设计模式--工厂方法模式
0.C#设计模式-简单工厂模式 设计模式: 工厂方法模式(Factory Method Pattern) 介绍:简单工厂模式是要在工厂类中通过数据来做个决策,在工厂类中的多个类中实例化出来其中一个要用 ...
- 设计模式 - 工厂方法模式 - 基于 Java 实现
常见和工厂有关的设计模式 和工厂相关的设计模式主要有三种,工厂方法模式,抽象工厂模式: 在前面的博客中介绍了简单工厂模式,本篇博客主要介绍的是工厂方法模式 什么是工厂方法模式 工厂方法模式是简单工厂的 ...
最新文章
- 全网最简单的网络图画法,小白福音包学包会
- mysql query cache优化
- Java中的LongAdder和AtomicLong有什么区别?
- python与 积分
- 晚上答辩的理论知识准备
- JavaScript学习(七十六)—this的指向问题
- 防火墙限制TCP流量新方法
- 在手机上抓包HTTP/HTTPS的请求
- 标准Lena测试图像下载
- 路由器当ap用虚拟服务器不能用,解决用TPLINK路由器配置模拟AP时Internet连接共享是空白的问题...
- Microsoft Teams 创建Outlook邮件组的Team
- 基于python的网络聊天室论文_Python基于Socket实现简单聊天室
- gold storm翔_牙狼GOLD STORM翔的人物简介
- java 倒计时_Java倒计时实现的三种简单方式
- easyui数据表格批量删除(datagrid 的deleteRow方法)
- shell 多个引号冲突_Shell 引号嵌套
- 20 个关于程序员的笑话,看懂了,你就不会笑了,也不会羡慕他们工资高了!...
- JavaWeb+Tomcat+Servlet使用<c:foreach>标签时,jsp等网页文件获取不到request域中的数据
- Visual Biasc 函数速查
- 在C语言中使用二分法算法思想解决猜商品价格问题
热门文章
- 11-散列1 电话聊天狂人(25 分)
- 基于JAX-WS的Web Service服务端/客户端 ;JAX-WS + Spring 开发webservice
- 显示器驱动程序已停止响应 并且已成功恢复
- Solidworks踩坑随笔
- Security+ 学习笔记31 云计算参考架构
- Ansible详解(十六)——Ansible配合Redis
- Linux Apache服务详解——Apache服务访问控制
- 华三H3c 交换机 vlan Hybird端口配置
- kali 19.2 搭建ftp服务器
- 解决atomikos在oracle应用中的XA事务异常 Error in recovery