欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

java如何實現(xiàn)抽象工廠模式

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

我們一直強調(diào)成都網(wǎng)站建設、網(wǎng)站建設對于企業(yè)的重要性,如果您也覺得重要,那么就需要我們慎重對待,選擇一個安全靠譜的網(wǎng)站建設公司,企業(yè)網(wǎng)站我們建議是要么不做,要么就做好,讓網(wǎng)站能真正成為企業(yè)發(fā)展過程中的有力推手。專業(yè)網(wǎng)絡公司不一定是大公司,創(chuàng)新互聯(lián)作為專業(yè)的網(wǎng)絡公司選擇我們就是放心。

抽象工廠又被稱為超級工廠 java如何實現(xiàn)抽象工廠模式

實例解釋:

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

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

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

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

代碼實現(xiàn)邏輯:

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

    • Dell 實體類,實現(xiàn)了draw()

    • Lenvo 實體類,實現(xiàn)了draw()

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

    • Mi 實體類

    • HuaWei實體類

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

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

  • 然后定義一個產(chǎn)品工廠創(chuàng)建抽象工廠

  • 最后demo類使用產(chǎn)品工廠

代碼: 第一步 Computer,phone

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

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

第二步:小米和華為實現(xiàn)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("華為手機打電話");
	}
}

第三步:創(chuàng)建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使用產(chǎn)品工廠

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

以上是“java如何實現(xiàn)抽象工廠模式”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

文章題目:java如何實現(xiàn)抽象工廠模式
網(wǎng)頁地址:http://chinadenli.net/article34/pgghse.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化微信公眾號全網(wǎng)營銷推廣網(wǎng)站制作標簽優(yōu)化營銷型網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站