java開發中使用的工廠設計模式

來源:互聯網
上載者:User

標籤:int   蘋果   actor   als   客戶   返回   sys   抽象   public   

package gongchangdemo;/* * 在java開發中使用較多的一種設計模式:原廠模式:就是一個過渡端 * 通過過度端來取得介面的執行個體化對象,這個過渡端就稱為工廠factory * 這個模式主要是為瞭解決修改子類,必須要修改main方法,而main方法主要是用戶端,用戶端 * 經常變來變去不太好,就引進:原廠模式 */public class gongchangdemo {public static void main(String args[]) {    //getinstance 方法是靜態所以可以用類名直接調用    //fruit f =null ;    //f = factory.getinstance("apple");    //f.eat();    //上面寫得apple是固定的,能否通過初始化參數的方法,則可以選擇任意的子類去標記    fruit f = null;    f = factory.getinstance(args[0]);    if (f!=null) {        f.eat();    }    }}//寫一個介面interface fruit{    //寫一個吃的抽象類別    public abstract void eat();}//寫一個子類去實現fruitclass apple implements fruit{    public void eat(){        System.out.println("我在吃蘋果");    }}//再寫一個子類去實現fruitclass orange implements fruit{    public void eat(){        System.out.println("我在吃橘子");    }}//寫一個過渡端 類factory,擷取介面的執行個體化對象class factory{    //返回 fruit類型的,所以用fruit修飾    public static fruit getinstance(String classname){        //先初始化        fruit f =null;        //傳過來的參數與子類名對比        if ("apple".equals(classname)) {            f = new apple();        }        if ("orange".equals(classname)) {            f = new orange();        }        return f;    }    }

 

java開發中使用的工廠設計模式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.