设计模式(三) 工厂方法模式
来源:互联网 发布:nginx 访问图片 404 编辑:程序博客网 时间:2024/06/02 19:28
工厂方法模式
定义:抽象工厂类负责定义创建对象的接口,具体对象的创建工作由继承抽象工厂的具体类实现
优缺点:
优点:客户端不需要负责对象的创建,如果有新对象增加,只需要添加具体类和具体工厂类即可
缺点:增加新对象的话,代码量增大
具体代码如下:
食物抽象类:
public abstract class Food {public abstract void use();}
食品类:
public class Eat extends Food {@Overridepublic void use() {System.out.println("This food can eat");}}
饮料类:
public class Drink extends Food {@Overridepublic void use() {System.out.println("This food can drink");}}
工厂抽象类:
public interface Factory {public Food createFood();}
食物工厂类:
public class EatFactory implements Factory {@Overridepublic Food createFood() {return new Eat();}}
饮料工厂类:
public class DrinkFactory implements Factory {@Overridepublic Food createFood() {return new Drink();}}
测试方法:
public class Main {public static void main(String[] args) {EatFactory e = new EatFactory();DrinkFactory d = new DrinkFactory();Eat eat = (Eat) e.createFood();Drink drink = (Drink) d.createFood();eat.use();drink.use();}}
输出如下:
This food can eat
This food can drink
0 0
- 设计模式(三) 工厂方法模式
- 设计模式学习(三)工厂方法
- Java设计模式(三):工厂模式(简单工厂模式、工厂方法模式、抽象工厂模式)
- 设计模式之(三)---工厂方法模式
- 设计模式学习(三)------工厂方法模式
- C#设计模式(三)工厂方法模式
- PHP设计模式(三),工厂方法模式
- 设计模式(三)——工厂方法模式
- (三)Java设计模式之工厂方法模式
- 设计模式学习笔记(三)工厂方法模式
- 设计模式之工厂模式之静态工厂方法模式(三)
- 设计模式(三)---抽象工厂模式
- 设计模式-工厂模式(三)
- 设计模式学习(三) 工厂模式
- 设计模式(三)--抽象工厂模式
- 设计模式(三)---抽象工厂模式
- Java设计模式----工厂模式(三)
- 设计模式(三)--工厂模式
- java集合-ArrayList
- log4j使用注意事项
- Zend Studio 10 汉化——离线语言包安装步骤
- hdu 2047递推
- SurfaceView概述应用
- 设计模式(三) 工厂方法模式
- 1017. Queueing at Bank (25)
- 《多线程编程》学习之九:Lock的使用
- SharedPreferences进行数据存储
- ACM篇:POJ 4001 -- Xiangqi
- 加载中...
- NSUserDefaults
- masterJ2EE篇002——springmvc简单实例
- File文件存储