第一步:产品类
package Java设计模式.简单工厂设计模式;
/**
* 简单工厂实现多种水果的管理
*/
public interface Fruit
{
//吃
void eat();
//种
void plant();
}
class Apple implements Fruit
{
String name;
public Apple() {
super();
}
@Override
public void eat() {
System.out.println("苹果可以吃!");
}
@Override
public void plant() {
System.out.println("苹果可以种植!");
}
}
class Banlanna implements Fruit
{
String name;
public Banlanna() {
super();
}
@Override
public void eat() {
System.out.println("香蕉可以吃!!!!!!");
}
@Override
public void plant() {
System.out.println("香蕉可以种植!!!!!!");
}
}
第二步:工厂类
package Java设计模式.简单工厂设计模式;
public class Factory {
public Fruit getInfo(String type)
{
if(type=="苹果") {
return new Apple();
}
if(type=="香蕉") {
return new Banlanna();
}
return null;
}
}
第三步:测试类
package Java设计模式.简单工厂设计模式;
public class Test {
public static void main(String[] args) {
Factory factory=new Factory();
//向上转型
Fruit fruit=factory.getInfo("苹果");
fruit.eat();
fruit.plant();
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%");
Fruit fruit1=factory.getInfo("香蕉");
fruit1.plant();
fruit1.eat();
}
}