Java设计模式之工厂方法设计模式

第一步:产品类

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();
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_43562705/article/details/89438138