工厂(Factory)模式

工厂模式

1.定义一个创建产品的接口,由子类决定生产什么产品。(实现了创建者和调用者的分离)

   核心:实例化对象不使用new,用工厂方法代替

2.分类

(1)简单工厂模式(以车工厂为例)

新建一个Car接口

public interface Car {
    public void name();
}

新建Car的实现类:

public class DaZhong implements Car {
    @Override
    public void name() {
        System.out.println("大众");
    }
}
public class WuLing implements Car {
    @Override
    public void name() {
        System.out.println("五菱");
    }
}

测试:

public class Test {
    public static void main(String[] args) {
        Car car = CarFactory.getCar("大众");
        Car car2 = CarFactory.getCar("五菱");

        car.name();
        car2.name();
    }
}

(2)工厂方法模式(以车工厂为例)

扫描二维码关注公众号,回复: 13135878 查看本文章

新建一个车接口,大众接车口,五菱车接口

public interface Car {
    public void name();
}
public class DaZhong implements Car {
    @Override
    public void name() {
        System.out.println("大众");
    }
}
public class WuLing implements Car {
    @Override
    public void name() {
        System.out.println("五菱");
    }
}

新建一个车工程,大众车工程,五菱车工程

public interface CarFactory {
    public Car getCar();
}
public class DaZhongFactory implements CarFactory {
    @Override
    public Car getCar() {
        return new DaZhong();
    }
}
public class WuLingFactory implements CarFactory {
    @Override
    public Car getCar() {
        return new WuLing();
    }
}

测试:

public class Test {
    public static void main(String[] args) {
        new DaZhongFactory().getCar().name();
        new WuLingFactory().getCar().name();
    }
}

猜你喜欢

转载自blog.csdn.net/qq_39182939/article/details/110420331