第一步:产品类
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 abstract class Factory {
abstract Fruit getInfo();
}
class AppleFactory extends Factory
{
@Override
Fruit getInfo() {
return new Apple();
}
}
class BannanlaFactory extends Factory
{
@Override
Fruit getInfo() {
return new Banlanna();
}
}
第三步:测试类
package Java设计模式.工厂方法设计模式;
public class Test {
public static void main(String[] args) {
Factory factory=null;
factory=new AppleFactory();
Fruit apple=factory.getInfo();
apple.eat();
apple.plant();
factory=new BannanlaFactory();
Fruit bannanla=factory.getInfo();
bannanla.plant();
bannanla.eat();
}
}