Java設計模式(抽象工廠模式)

1、Car.java

package com.company.factory.abstractFactory;

public abstract class Car { }

abstract class Audi extends Car{}
abstract class BMW extends Car{}

class AudiCar extends Audi implements Jiao{}
class AudiSUV extends Audi implements SUV{}

class BMWCar extends BMW implements Jiao{}
class BMWSUV extends BMW implements SUV{}

interface Jiao{}
interface SUV{}

2、Factory.java

package com.company.factory.abstractFactory;

public interface Factory {

    Jiao getJiao();

    SUV getSUV();
}

class BMWFactory implements Factory {

    @Override
    public Jiao getJiao() {
        return new BMWCar();
    }

    @Override
    public SUV getSUV() {
        return new BMWSUV();
    }
}

class AudiFactory implements Factory {

    @Override
    public Jiao getJiao() {
        return new AudiCar();
    }

    @Override
    public SUV getSUV() {
        return new AudiSUV();
    }
}

使用

public static void main(String[] args) {
        Jiao bmwJiao = new BMWFactory().getJiao();
        SUV bmwSuv = new BMWFactory().getSUV();

        Jiao audiJiao = new AudiFactory().getJiao();
        SUV audiSuv = new AudiFactory().getSUV();
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章