设计模式之抽象工厂模式
2013-12-06 11:16
155 查看
package com.csair.design.pattern; /** * 一个抽象工厂可以生产人(成人,小孩),和对应的玩具 * 抽象工厂生产一系列产品,产品间有对应关系:比如说,什么样的人,玩什么样的玩具 * @author ppt */ public class AbstractFactory { public static void main(String[] args) { Factory factory = new AdultFactory(); play(factory); Factory factory1 = new ChildFactory(); play(factory1); } public static void play(Factory factory) { System.out.println(factory.getPerson().getName()+" plays " + factory.getToy().getName()); } } interface Factory { Person getPerson(); Toy getToy(); } class AdultFactory implements Factory{ @Override public Person getPerson() { return new Adult(); } @Override public Toy getToy() { return new AdultToy(); } } class ChildFactory implements Factory{ @Override public Person getPerson() { return new Child(); } @Override public Toy getToy() { return new ChildToy(); } } interface Person { String getName(); } class Adult implements Person{ @Override public String getName() { return "adult(tom)"; } } class Child implements Person{ @Override public String getName() { return "child(jack)"; } } interface Toy { String getName(); } class AdultToy implements Toy { @Override public String getName() { return "adult(basketball)"; } } class ChildToy implements Toy { @Override public String getName() { return "child(pingpong)"; } }
相关文章推荐
- Python的创建型设计模式之抽象工厂模式
- java设计模式——抽象工厂模式
- 用来创建对象的设计模式之抽象工厂模式
- C++设计模式——抽象工厂模式
- C#设计模式之3——抽象工厂模式
- java设计模式---工厂方法和抽象工厂模式
- C语言和设计模式(抽象工厂模式)
- 9、C语言和设计模式(抽象工厂模式)
- C#设计模式——抽象工厂模式(Abstract Factory Pattern)
- 设计模式(五)——抽象工厂模式
- 小话设计模式(三)抽象工厂模式
- java设计模式---抽象工厂模式
- 设计模式——抽象工厂模式(Abstract Factory)
- 设计模式------------抽象工厂模式
- JAVA设计模式之抽象工厂模式
- 设计模式:抽象工厂模式
- 设计模式之抽象工厂模式
- 设计模式之抽象工厂模式简介及代码实现
- 23种设计模式[3]:抽象工厂模式
- 设计模式--------(区分抽象工厂模式和工厂方法模式)