簡單工廠設計模式

工廠設計模式


抽象工廠,用於規定具體工廠需具備的功能(方法)

GirlFriend.java

public abstract class GirlFriend {//抽象工廠,規定了girlfriend需要具備的方法,也用於上轉型調用
	public abstract void speak();
}

三個具體工廠

WangGirl.java

public class WangGirl extends GirlFriend {//"生產"WangGirl的工廠
	public void speak() {//抽象方法的實現
		System.out.println("My name is 王**");
	}
}

LiuGirl.java

public class LiuGirl extends GirlFriend {//"生產"LiuGirl的工廠
	public void speak() {
		System.out.println("My name is 劉*");
	}
}

GaoGirl.java

public class GaoGirl extends GirlFriend {//"生產"GaoGirl的工廠
	public void speak() {
		System.out.println("My name is 高*");
	}

}

簡單工廠類SimpleFactory,java

public class SimpleFactory {//簡單工廠類,根據傳入的參數返回對應的類實例
	final static int TYPE_wang=1;
	final static int TYPE_liu=2;
	final static int TYPE_gao=3;
	public static GirlFriend createGirlFriend(int type) {
		switch(type) {
		case TYPE_wang:
			return new WangGirl();
		case TYPE_liu:
			return new LiuGirl();
		default:
			return new GaoGirl();
		}
	}
}
包含main方法的測試類TestSimpleFactory.java
public class TestSimpleFactory {
	public static void main(String[] args) {
		GirlFriend gf=SimpleFactory.createGirlFriend(SimpleFactory.TYPE_wang);//傳入1,返回new WangGirl()
		gf.speak();//對象的丄轉型
		gf=SimpleFactory.createGirlFriend(SimpleFactory.TYPE_gao);//傳入3,返回new GaoGirl()
		gf.speak();//對象的丄轉型
	}
}






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章