国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

手寫Java設計模式之抽象工廠模式,附源碼解讀

這篇具有很好參考價值的文章主要介紹了手寫Java設計模式之抽象工廠模式,附源碼解讀。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

接上篇,抽象工廠模式將汽車的一些屬性可以抽象出來,可以理解為給不同汽車品牌生成時加上不同的特性,如顏色等,具體代碼如下:

引入顏色接口:

public interface Colour {
    void fill();
}

將顏色與汽車生成品牌抽象出來,增加抽象類:

public abstract class CarAndColourFactory {
    public abstract Car getCar(String CarType);
    public abstract Colour getColour(String colour);
}

繼承抽象類,分別對不同屬性的特征進行操作,如涂上顏色等,首先實現(xiàn)顏色接口:

public class Green implements Colour {
    @Override
    public void fill() {
        System.out.println("涂上綠色");
    }
}

public class Red implements Colour {
    @Override
    public void fill() {
        System.out.println("涂上紅色");
    }
}

汽車品牌和汽車顏色分別繼承抽象類:

public class CarTypeFactory extends CarAndColourFactory{
    @Override
    public Car getCar(String CarType) {
        if(CarType == null){
            return null;
        }
        if(CarType.equalsIgnoreCase("XiaoMi")){
            return new XiaoMi();
        } else if(CarType.equalsIgnoreCase("HuaWei")){
            return new HuaWei();
        } else if(CarType.equalsIgnoreCase("Tesla")){
            return new Tesla();
        }
        return null;
    }

    @Override
    public Colour getColour(String colour) {
        return null;
    }
}

public class ColourFactory extends CarAndColourFactory{
    @Override
    public Car getCar(String CarType) {
        return null;
    }

    @Override
    public Colour getColour(String colour) {
        if(colour == null){
            return null;
        }
        if(colour.equalsIgnoreCase("Green")){
            return new Green();
        } else if(colour.equalsIgnoreCase("Red")){
            return new Red();
        }
            return null;
    }
}

增加一個根據(jù)參數(shù)區(qū)分增加汽車屬性的加工工廠類,如下:

public class FactoryProducer {
    public static CarAndColourFactory get(String choice){
         if(choice.equalsIgnoreCase("Car")){
             return new CarTypeFactory();
         }else if(choice.equalsIgnoreCase("Colour")){
             return new ColourFactory();
         }
         return null;
    }
}

進行汽車加工:

public class CarTest {
    public static void main(String[] args){
       /* CarFactory carFactory = new CarFactory();
        carFactory.getCar("xiaomi").draw();
        carFactory.getCar("huawei").draw();
        carFactory.getCar("tesla").draw();*/
        CarAndColourFactory carAndColourFactory1 = FactoryProducer.get("Car");
        carAndColourFactory1.getCar("xiaomi").draw();
        CarAndColourFactory carAndColourFactory= FactoryProducer.get("Colour");
        carAndColourFactory.getColour("Green").fill();
    }
}

產(chǎn)生結果:
手寫Java設計模式之抽象工廠模式,附源碼解讀,java,設計模式,抽象工廠模式文章來源地址http://www.zghlxwxcb.cn/news/detail-858116.html

到了這里,關于手寫Java設計模式之抽象工廠模式,附源碼解讀的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【Java 設計模式】創(chuàng)建型之抽象工廠模式

    【Java 設計模式】創(chuàng)建型之抽象工廠模式

    在軟件開發(fā)中,抽象工廠模式是一種常見的創(chuàng)建型設計模式, 它提供了一種創(chuàng)建一系列相關或相互依賴對象的接口,而無需指定它們具體的類 。抽象工廠模式的核心思想是將一組相關的產(chǎn)品組合成一個工廠,客戶端通過工廠接口創(chuàng)建一系列產(chǎn)品。在本文中,我們將介紹 Jav

    2024年01月17日
    瀏覽(28)
  • 【java設計模式】創(chuàng)建型模式介紹(工廠模式、抽象工廠模式、單例模式、建造者模式、原型模式)

    簡介 本文介紹Java設計模式中創(chuàng)建型模式的五種 一、工廠模式 工廠模式(Factory Pattern)是 Java 中最常用的設計模式之一。這種類型的設計模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對象的最佳方式。 工廠模式提供了一種將對象的實例化過程封裝在工廠類中的方式。通過使用工

    2024年02月16日
    瀏覽(24)
  • 自學設計模式(簡單工廠模式、工廠模式、抽象工廠模式)

    使用工廠模式來生產(chǎn)某類對象(代碼簡化且容易維護,類之間有血緣關系,可以通過工廠類進行生產(chǎn)); 簡單工廠模式(用于創(chuàng)建簡單對象) 對于簡單工廠模式,需要的工廠類只有一個; 在工廠類中的公共成員函數(shù)來創(chuàng)建所需對象; 工廠模式 簡單工廠模式會違反開放封閉

    2024年02月11日
    瀏覽(27)
  • 【設計模式】單例模式、工廠方法模式、抽象工廠模式

    1. 單例模式 (Singleton Pattern): 場景: 在一個應用程序中,需要一個全局唯一的配置管理器,確保配置信息只有一個實例。 2. 工廠方法模式 (Factory Method Pattern): 場景: 創(chuàng)建一組具有相似功能但具體實現(xiàn)不同的日志記錄器。 3. 抽象工廠模式 (Abstract Factory Pattern): 場景: 創(chuàng)建不同

    2024年01月15日
    瀏覽(29)
  • 【Java基礎教程】(十五)面向對象篇 · 第九講:抽象類和接口——定義、限制與應用的細節(jié),初窺模板設計模式、工廠設計模式與代理設計模式~

    【Java基礎教程】(十五)面向對象篇 · 第九講:抽象類和接口——定義、限制與應用的細節(jié),初窺模板設計模式、工廠設計模式與代理設計模式~

    掌握 抽象類和接口的定義、使用、區(qū)別、常見設計模式; 抽象類是代碼開發(fā)中的重要組成部分,利用抽象類可以明確地定義子類需要覆寫的方法,這樣相當于在語法程度上對子類進行了嚴格的定義限制,代碼的開發(fā)也就更加標準。下面具體介紹抽象類的概念。 普通類可以直

    2024年02月16日
    瀏覽(26)
  • 設計模式-抽象工廠模式

    抽象工廠模式:該模式是對工廠模式的拓展,因為工廠模式中創(chuàng)建的產(chǎn)品都需要繼承自同一個父類或接口,創(chuàng)建的產(chǎn)品類型相同,無法創(chuàng)建其他類型產(chǎn)品,所以抽象工廠模式對其進行拓展,使其可以創(chuàng)建其他類型的產(chǎn)品。 手機產(chǎn)品 Pad產(chǎn)品 工廠 優(yōu)點:創(chuàng)建的產(chǎn)品種類不單一

    2024年02月13日
    瀏覽(22)
  • 【設計模式】抽象工廠模式

    【設計模式】抽象工廠模式

    抽象工廠模式(Abstract Factory Pattern)是圍繞一個超級工廠創(chuàng)建其他工廠。該超級工廠又稱為其他工廠的工廠。這種類型的設計模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對象的最佳方式。 在抽象工廠模式中,接口是負責創(chuàng)建一個相關對象的工廠,不需要顯式指定它們的類。每個

    2024年02月13日
    瀏覽(28)
  • 設計模式 - 抽象工廠模式

    設計模式 - 抽象工廠模式

    學完工廠模式,才發(fā)現(xiàn)還有一個抽象工廠模式;學習后發(fā)現(xiàn)不論是通過接口方式、還是繼承方式,都可以使用抽象工廠模式;但是個人建議更多的時候,我們可以優(yōu)先考慮接口方式,畢竟 單繼承,多實現(xiàn) 設計模式分為三種類型,共23種 創(chuàng)建型模式:單例模式、工廠模式、抽

    2024年02月13日
    瀏覽(28)
  • 設計模式(三):抽象工廠模式

    設計模式(三):抽象工廠模式

    抽象工廠模式 (Abstract Factory Pattern)屬于創(chuàng)建型模式,是圍繞一個超級工廠創(chuàng)建其他工廠。該超級工廠又稱為其他工廠的工廠。 在 抽象工廠模式 中,接口是負責創(chuàng)建一個相關對象的工廠,不需要顯式指定它們的類。每個生成的工廠都能按照工廠模式提供對象。 通過使用 抽

    2024年04月25日
    瀏覽(23)
  • 重溫設計模式 --- 抽象工廠模式

    抽象工廠模式 一種創(chuàng)建型設計模式,它提供了一種方式來封裝一組具有相同主題的工廠,而不必指定它們具體的類。這樣,客戶端代碼就可以使用抽象工廠來創(chuàng)建一組相關的對象,而不必關心實際創(chuàng)建的具體類。 抽象工廠模式有以下幾個主要角色: 抽象工廠(AbstractFactory)

    2024年02月13日
    瀏覽(36)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包