還是那個女媧造人的故事,先把人類的模型創建出來 創造個接口,叫IHuman;
public abstract void getColor(); public abstract void talk();}然后創建三個類,分別是BlackHuman,WhiteHuman,YellowHuman ,這三個類都繼承了IHuman這個接口;
BlackHuman: public class BlackHuman implements IHuman {
@Overridepublic void getColor() { System.out.} WhiteHuman: public class WhiteHuman implements IHuman {@Overridepublic void getColor() { System.out.println("白種人");}@Overridepublic void talk() { System.out.println("白種人說話了");}}YellowHuman: public class YellowHuman implements IHuman { @Override public void getColor() { System.out.println("黃種人"); } @Override public void talk() { System.out.println("黃種人說話了"); } } 然后再創建一個接口,取名IHumanFactory,這就像是一個煉丹爐的模型 public interface IHumanFactory { public abstract IHuman createHuman(String human); } 然后再創建一個類,取名HumanFactory,繼承了IHumanFactory這個接口: public class HumanFactory implements IHumanFactory { public static final String BlackHuman = "blackHuman"; public static final String WhiteHuman = "whiteHuman"; public static final String YellowHuman = "yellowHuman"; public static HumanFactory humanFactory = null; private HumanFactory(){ } /* /*這里設置了一個單列模式 /* public static HumanFactory getIntance(){ if(humanFactory == null){ humanFactory = new HumanFactory(); } return humanFactory; } /* /*重寫了IHumanFactory接口,判斷兩邊是否相等,并將數值返回; /* @Override public IHuman createHuman(String human) { if(human.equals(HumanFactory.BlackHuman)){ return new BlackHuman(); }else if(human.equals(HumanFactory.WhiteHuman)){ return new WhiteHuman(); }else if(human.equals(HumanFactory.YellowHuman)){ return new YellowHuman(); } return null; } } 創建一個類,這個就是程序入口,如果想創造哪個人類,可以直接在這里添加:
|
新聞熱點
疑難解答