设计模式简单工厂工厂方法抽象工厂
Posted hhxz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式简单工厂工厂方法抽象工厂相关的知识,希望对你有一定的参考价值。
- 简单工厂模式
举个例子:
小Z喜欢吃水果(Fruit)更喜欢喝果汁(juice),喜欢三类水果哈密瓜(Hami melon)、香蕉(banana)、桃子(peach)利用简单的工厂实现小Z喝果汁梦想
uml
首先去选水果(Fruit):
/*
* 获得水果并得到一个榨果汁的方法
*/
public interface Fruit {
public void getJuice();
}
哈密瓜:
/*
* 用哈密瓜实实现水果榨汁功能
*/
public class HamiMelon implements Fruit {
@Override
public void getJuice() {
System.out.println("HamiMelon Juice");
}
}
香蕉:
/*
* 用香蕉实现水果榨汁功能
*/
public class Banana implements Fruit {
@Override
public void getJuice() {
System.out.println("Banana Juice");
}
}
桃子:
/*
* 用桃子实现水果榨汁功能
*/
public class Peach implements Fruit {
@Override
public void getJuice() {
System.out.println("Peach Juice");
}
}
加工工厂:
package simplefactory;
/*
* 这个水果加工厂是将水果榨成汁
*/
public class FruitFactory {
public Fruit createJuice(int choose){
//switch选择相应的果汁口味
System.out.println("1 peachjuice 2 HamiMelon 3 Banana");
switch(choose){
case 1:
return new Peach();
case 2:
return new HamiMelon();
case 3:
return new Banana();
}
return null;
}
}
测试类:
//测试程序
public class TestDemo {
public static void main(String[] args) {
FruitFactory ff = new FruitFactory();
Fruit f = ff.createJuice(1);
f.getJuice();
}
}
输出:
1 peachjuice 2 HamiMelon 3 Banana
Peach Juice
2.工厂方法
小Z是一个相区分下juice的种类那么
以上是关于设计模式简单工厂工厂方法抽象工厂的主要内容,如果未能解决你的问题,请参考以下文章