首頁  >  文章  >  Java  >  Java設計模式之抽象工廠模式怎麼實現

Java設計模式之抽象工廠模式怎麼實現

WBOY
WBOY轉載
2023-04-29 14:19:06823瀏覽

1.介紹

當系統準備為使用者提供一系列相關對象,又不想讓使用者程式碼和這些對象形成耦合時,就可以使用抽象工廠模式。

2.如何實現

1)抽象產品--Car

2)具體產品--BYDCar、TSLCar

3)抽象工廠Factory

4)具體工廠--BYDFactory、TSLFactory

3.程式碼實作

/**
 * 抽象产品
 */
public abstract class Car {
    public abstract String getName();
}
/**
 * 具体产品
 */
public class BYDCar extends Car {
    String name;
    public BYDCar(String name){
        this.name = name;
    }
    @Override
    public String getName() {
        return name;
    }
}
/**
 * 抽象工厂
 */
public abstract class CarFactoty {
    public abstract Car createCar(String name);
}
 /**
 * 具体工厂
 */
public class BYDFactory extends CarFactoty {
    @Override
    public BYDCar createCar(String name) {
        return new BYDCar(name);
    }
}

4.總結

1)抽象工廠模式可以為使用者建立一系列相關的對象,是使用者和這些類別的物件解耦

2)使用抽象工廠模式可以方便的為使用者配置一些列對象。

3)在抽象工廠模式中,可以隨時增加「具體工廠」為使用者提供一組相關的物件。

如:在上面的例子中,如果用戶需要一特斯拉車,創建一個特斯拉物件和特斯拉工廠就能完成。

/**
 * 具体产品
 */
public class TSLCar extends Car {
    String name;
    public TSLCar(String name){
        this.name = name;
    }
    @Override
    public String getName() {
        return name;
    }
}
/**
 * 具体工厂
 */
public class TSLFactory extends CarFactoty {
    @Override
    public TSLCar createCar(String name) {
        return new TSLCar(name);
    }
}

以上是Java設計模式之抽象工廠模式怎麼實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除