国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

工廠方法模式

2019-11-08 19:40:05
字體:
來源:轉載
供稿:網友

還是那個女媧造人的故事,先把人類的模型創建出來 創造個接口,叫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; } } 創建一個類,這個就是程序入口,如果想創造哪個人類,可以直接在這里添加:

public class Client {public static void main(String[] args) { BlackHuman bh = (BlackHuman)HumanFactory.getIntance().createHuman(HumanFactory.BlackHuman); bh.getColor(); WhiteHuman wh = (WhiteHuman)HumanFactory.getIntance().createHuman(HumanFactory.WhiteHuman); wh.getColor(); YellowHuman yh = (YellowHuman)HumanFactory.getIntance().createHuman(HumanFactory.YellowHuman); yh.getColor(); }}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吴川市| 油尖旺区| 晋中市| 会理县| 平潭县| 焦作市| 威宁| 东明县| 宁波市| 西丰县| 达拉特旗| 九龙坡区| 电白县| 资阳市| 红桥区| 瑞丽市| 疏勒县| 项城市| 黑龙江省| 华宁县| 高密市| 阜新| 太仆寺旗| 游戏| 成武县| 苗栗县| 长宁县| 吴忠市| 东丽区| 花垣县| 朝阳县| 平陆县| 会同县| 枣强县| 曲靖市| 镇雄县| 抚州市| 惠来县| 丹江口市| 大足县| 临漳县|