设计模式之抽象工厂模式

来源:互联网 发布:tomcat连不上mysql 编辑:程序博客网 时间:2024/06/07 02:00

多个接口,构成了产品族的时候使用抽象工厂模式!

//发动机接口public interface Engine {    void run();    void start();}
//发动机实现类://高级发动机 class LuxuryEngine implements Engine{    @Override    public void run() {        System.out.println("转的快!");    }    @Override    public void start() {        System.out.println("启动快!可以自动启停!");    }}//低级发动机class LowEngine implements Engine{    @Override    public void run() {        System.out.println("转的慢!");    }    @Override    public void start() {        System.out.println("启动慢!");    }}
//座位接口public interface Seat {    void massage();}
//座位实现类://高级座位class LuxurySeat implements Seat {    @Override    public void massage() {        System.out.println("可以自动按摩!");    }}//低级座位class LowSeat implements Seat {    @Override    public void massage() {        System.out.println("不能按摩!");    }}
 //轮胎接口public interface Tyre {    void revolve();}
//轮胎实现类://高级轮胎class LuxuryTyre implements Tyre {    @Override    public void revolve() {        System.out.println("旋转不磨损!");    }}//低级轮胎class LowTyre implements Tyre {    @Override    public void revolve() {        System.out.println("旋转磨损快!");    }}
//汽车工厂接口:public interface CarFactory {    Engine createEngine();    Seat createSeat();    Tyre createTyre();}
//汽车工厂实现类://高级汽车工厂public class LuxuryCarFactory implements CarFactory {    @Override    public Engine createEngine() {        return new LuxuryEngine();    }    @Override    public Seat createSeat() {        return new LuxurySeat();    }    @Override    public Tyre createTyre() {        return new LuxuryTyre();    }}//低级汽车工厂public class LowCarFactory implements CarFactory {    @Override    public Engine createEngine() {        return new LowEngine();    }    @Override    public Seat createSeat() {        return new LowSeat();    }    @Override    public Tyre createTyre() {        return new LowTyre();    }}
//测试代码:public class Client {    public static void main(String[] args) {        CarFactory  factory = new LuxuryCarFactory();        Engine e = factory.createEngine();        e.run();        e.start();          }}
0 0
原创粉丝点击