亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java如何實現抽象工廠模式

發布時間:2022-01-13 16:41:46 來源:億速云 閱讀:136 作者:小新 欄目:大數據

小編給大家分享一下java如何實現抽象工廠模式,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

抽象工廠又被稱為超級工廠 java如何實現抽象工廠模式

實例解釋:

  • 一個人可以有一臺電腦和一臺手機,但是本人不去生成,本人只是去使用

  • 有個超級工廠(AbstractFactory)抽象工廠,它下面有兩個代工廠(1.專門生產手機的工廠,2.專門生產電腦的工廠)

  • 負責生產電腦的工廠,就是一個簡單工廠模式。

  • 負責生產手機的工廠,也是一個簡單手機工廠模式。

代碼實現邏輯:

  • 首先創建一個電腦接口--Computer,它只有draw()方法,它下面有兩個牌子,

    • Dell 實體類,實現了draw()

    • Lenvo 實體類,實現了draw()

  • 然后創建一個手機接口---phone,它只有call()方法,它也有兩個牌子(實體類)

    • Mi 實體類

    • HuaWei實體類

  • 然后定義一個AbstractFactory抽象工廠,它有兩個產品(手機,電腦)

  • 手機工廠繼承抽象工廠,電腦工廠繼承抽象工廠

  • 然后定義一個產品工廠創建抽象工廠

  • 最后demo類使用產品工廠

代碼: 第一步 Computer,phone

public interface Computer {
	void draw();//畫圖功能
}

public interface Phone {
	void call();//打電話功能
}

第二步:小米和華為實現Phone接口

public class Mi implements Phone{
	@Override
	public void call() {
		System.out.println("小米手機打電話");
	}
}

public class HuaWei implements Phone{
	@Override
	public void call() {
		System.out.println("華為手機打電話");
	}
}

第三步:創建AbstractFactory抽象工廠,開放電腦和手機兩個接口

public abstract class AbstractFactory {
	public abstract Computer getComputer(String computer);
	public abstract Phone getPhone(String phone);
}

第四:手機工廠繼承抽象工廠 ,電腦工廠繼承抽象工廠

public class PhoneFactory extends AbstractFactory{
	@Override
	public Computer getComputer(String computer) {
		return null;
	}

	@Override
	public Phone getPhone(String phone) {
		if(phone.equalsIgnoreCase("Mi")){
			return new Mi();
		}else if(phone.equalsIgnoreCase("HuaWei")){
			return new HuaWei();
		}
		return null;
	}
}
public class ComputerFactory extends AbstractFactory{
	@Override
	public Computer getComputer(String computer) {
		if(computer == null){
			return null;
		}
		if(computer.equalsIgnoreCase("Dell")){
			return new Dell();
		}else if(computer.equalsIgnoreCase("Lenvo")){
			return new  Lenvo();
		}
		return null;
	}

	@Override
	public Phone getPhone(String phone) {
		return null;
	}
}

第5:FactoryProducer 來獲取 AbstractFactory 對象

public class FactoryProducer {
	public static AbstractFactory getFactory(String choice){
		if(choice.equalsIgnoreCase("Computer")){
			return new ComputerFactory();
		}else if(choice.equalsIgnoreCase("Phone")){
			return new PhoneFactory();
		}
		return null;
	}
}

第6:demo使用產品工廠

public class AbstractDemo {
	public static void main(String[] args) {
		//獲取手機工廠
		AbstractFactory phoneFactory = FactoryProducer.getFactory("Phone");
		//獲取小米手機的對象
		Phone mi = phoneFactory.getPhone("Mi");
		//調用小米的方法
		mi.call();
	}
}

以上是“java如何實現抽象工廠模式”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

洪江市| 揭西县| 泗洪县| 玉屏| 股票| 海盐县| 奈曼旗| 西藏| 神农架林区| 隆德县| 桐梓县| 驻马店市| 赣榆县| 霸州市| 普宁市| 平阳县| 萨迦县| 增城市| 朝阳市| 炉霍县| 临漳县| 利辛县| 信丰县| 渝中区| 财经| 高雄市| 贵德县| 佛学| 敦煌市| 宣化县| 湟源县| 沐川县| 四川省| 临沂市| 彭山县| 响水县| 玉树县| 泰兴市| 台南市| 大渡口区| 迁西县|