23种设计模式之-----工厂方法模式(Method Factory pattern)
来源:互联网 发布:2016最好的网络武侠剧 编辑:程序博客网 时间:2024/05/29 07:38
沿用女娃造人的故事:
我们把造人的炉子抽象一下,分成个来造,白色的炉子造白人,黑色的炉子造黑人,黄色的炉子造黄种人。
那么:
人的接口:
public interface Human { //会说话 public void talk(); //会笑 public void laugh(); //会哭 public void cry();}
黄种人:
public class YellowHuman implements Human{ @Override public void talk() { System.out.println("黄种人会说话"); } @Override public void laugh() { System.out.println("黄种人会笑!"); } @Override public void cry() { System.out.println("黄宏人会哭!"); }}白种人:
public class WhiteHuman implements Human{ @Override public void talk() { System.out.println("白种人会说话!"); } @Override public void laugh() { System.out.println("白种人会笑!"); } @Override public void cry() { System.out.println("白种人会哭!"); }}黑种人:
public class BlockHuman implements Human{ @Override public void talk() { System.out.println("黑种人会说话!"); } @Override public void laugh() { System.out.println("黑种人会笑!"); } @Override public void cry() { System.out.println("黑种人会哭!"); }}
炉子:
public interface HumanFactory { public Human createHuman();}黄色的炉子:
public class YellowFactory implements HumanFactory { @Override public Human createHuman() { return new YellowHuman(); }}
黑色的炉子:
public class BlockFactory implements HumanFactory { @Override public Human createHuman() { return new BlockHuman(); }}
白色的炉子:
public class WhiteFactory implements HumanFactory { @Override public Human createHuman() { return new WhiteHuman(); }}
女娲:
public class NvWa { public static void main(String[] args) { //先来一堆白人 System.out.println("白人来咯:"); WhiteFactory wf = new WhiteFactory(); Human whiteHuman = wf.createHuman(); whiteHuman.cry(); whiteHuman.laugh(); whiteHuman.talk(); //再来一堆黑人 System.out.println("黑人来咯:"); Human blockHuman = new BlockFactory().createHuman(); blockHuman.talk(); blockHuman.laugh(); blockHuman.cry(); //最后来一批黄种人 System.out.println("黄种人来咯:"); Human yellowHuman = new YellowFactory().createHuman(); yellowHuman.cry(); yellowHuman.laugh(); yellowHuman.talk(); }}
看造人结果:
阅读全文
0 0
- 23种设计模式之-----工厂方法模式(Method Factory pattern)
- 设计模式之 - 工厂方法模式 (Factory Method design pattern)
- JAVA设计模式之 工厂方法模式【Factory Method Pattern】
- Java设计模式之工厂方法模式【Factory Method Pattern】
- C#设计模式之工厂方法模式(Factory Method Pattern)
- 设计模式2:Factory Method Pattern(工厂方法模式)
- 设计模式(2):工厂方法模式(Factory Method Pattern)
- Java设计模式:工厂方法模式(Factory Method Pattern)
- 工厂方法模式(factory method pattern)
- 工厂方法模式(Factory Method Pattern)
- 工厂方法模式(Factory Method Pattern)
- 工厂方法模式(Factory Method Pattern)
- 工厂方法模式(Factory Method Pattern)
- 工厂方法模式(factory method pattern)
- 工厂方法模式(Factory Method Pattern)
- 工厂方法模式(Factory Method Pattern)
- 工厂方法模式(Factory Method Pattern)。
- 设计模式之( Factory Method Pattern--工厂方法模式)
- JavaScript之变量
- tf.cast (API r1.3)
- java中常用的集合总结
- java集合Collection中的常用方法
- 输出精度问题
- 23种设计模式之-----工厂方法模式(Method Factory pattern)
- 十九:集合操作
- (算法分析Week11)Generate Parentheses[Medium]
- 符号三角形问题(回溯)-算法设计与分析
- 数据库完整性约束
- MySql innodb的锁
- /usr/bin/ld: 找不到 -lippicv
- Linux私房菜学习-第6章Linux文件权限与目录
- Springboot No EntityManager with actual transaction available for current thread