java设计模式之抽象工厂模式
来源:互联网 发布:矩阵里det是什么意思 编辑:程序博客网 时间:2024/06/06 03:52
抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。
抽象工厂允许客户使用抽象的接口来创建一组相关的产品,而不需要知道实际产出的具体产品是什么。
烤鱼之抽象工厂模式类图:
类A,B实现了接口TiaoLiao,分别是调料A,调料B。FactoryA,FactoryB是AbstractFactory的子类,通过create方法来实例化TiaoLiao。
TiaoLiao接口代码实现:
public interface TiaoLiao {}
A类代码实现:
public class A implements TiaoLiao{ public A(){ System.out.println("调料A"); }}
B类代码实现:
public class B implements TiaoLiao{ public B(){ System.out.println("调料B"); }}
AbstractFactory类代码实现:
public abstract class AbstractFactory { public abstract TiaoLiao create();}
FactoryA类代码实现:
public class FactoryA extends AbstractFactory{ @Override public TiaoLiao create() { // TODO Auto-generated method stub return new A(); }}
FactoryB类代码实现:
public class FactoryB extends AbstractFactory{ @Override public TiaoLiao create() { // TODO Auto-generated method stub return new B(); }}
KaoYu类代码实现:
public class KaoYu { AbstractFactory abstractFactory; public KaoYu(AbstractFactory abstractFactory){ this.abstractFactory = abstractFactory; } public TiaoLiao orderFish(){ return abstractFactory.create(); }}
测试类AbstractFactoryTest代码实现:
public class AbstractFactoryTest { public static void main(String[] args){ AbstractFactory abstractFactory = new FactoryA(); KaoYu kaoYu = new KaoYu(abstractFactory); kaoYu.orderFish(); AbstractFactory abstractFactory2 = new FactoryB(); KaoYu kaoYu2 = new KaoYu(abstractFactory2); kaoYu2.orderFish(); }}
运行结果:
调料A调料B
0 0
- java设计模式之抽象工厂模式
- JAVA设计模式之抽象工厂模式
- Java设计模式之抽象工厂模式
- java设计模式之抽象工厂模式
- 【Java设计模式】之抽象工厂模式
- java设计模式 之 抽象工厂模式
- Java--设计模式之抽象工厂模式
- java设计模式之抽象工厂模式
- 设计模式之JAVA----抽象工厂模式
- java设计模式之抽象工厂模式
- java设计模式之抽象工厂模式
- JAVA设计模式之抽象工厂模式
- Java设计模式之抽象工厂模式
- 《Java设计模式》之抽象工厂模式
- Java设计模式之抽象工厂模式
- java设计模式之抽象工厂模式
- JAVA设计模式之抽象工厂模式
- Java设计模式之抽象工厂模式
- VIJOS P1037搭建双塔 【双塔DP】
- 2017年的第八个晚上
- Android DataBinding完全解析
- json请求数据有Unicode乱码
- 计算机视觉亮度与计算机视觉深度
- java设计模式之抽象工厂模式
- leetcode_middle_17_392. Is Subsequence
- codevs 最小乘车费用 1417
- 卷包裹,线段相交,计算几何(找边界,LA 3218)
- java学习记录----面向对象(二)
- 普及练习场之排序
- C语言蛇形矩阵例题
- 1034. Head of a Gang (30)
- [ACM] POJ 1753 Flip Game (枚举,BFS,位运算)