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

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

Head First_設計模式_策略模式

2019-11-14 09:11:46
字體:
來源:轉載
供稿:網友
package Strategy_Pattern;/* * head first 設計模式  完整代碼練習 *  * 1.策略模式(封裝算法,讓算法之間可以相互代替。<好處:使得算法的變化獨立于使用算法的客戶。>) *  *  * */public abstract class Strategy_Pattern_Duck {	FlyBehaver flyBehaver;	EatDifference eatDifference;	// 習慣寫空的構造方法	public Strategy_Pattern_Duck() {	};	// 用接口來實現具體的算法	public void flyPerform() {		flyBehaver.fly();	}	public void eatPerform() {		eatDifference.eat();	}}
package Strategy_Pattern;interface FlyBehaver {	// 飛行的方法	void fly();}class FlywhitB implements FlyBehaver {	@Override	public void fly() {		// TODO Auto-generated method stub		System.out.PRintln("FlywhitB");	}}class FlywhitA implements FlyBehaver {	@Override	public void fly() {		// TODO Auto-generated method stub		System.out.println("FlywhitA ");	}}
package Strategy_Pattern;public interface EatDifference {	void eat();}class EatApple implements EatDifference {	@Override	public void eat() {		// TODO Auto-generated method stub		System.out.println("this is duck eatting Apple!");	}}class EatBanana implements EatDifference {	@Override	public void eat() {		// TODO Auto-generated method stub		System.out.println("this is duck eatting banana!");	}}
package Strategy_Pattern;public class WhiteDuck extends Strategy_Pattern_Duck {	public WhiteDuck() {		// 具體的whiteDuck有具體的eat和fly的方法		flyBehaver = new FlywhitB();		eatDifference = new EatApple();	}	public void sayHello() {		System.out.println("這是WhiteDuck!");	}}
package Strategy_Pattern;public class Test {	public static void main(String arg[]) {		Strategy_Pattern_Duck d = new WhiteDuck();		d.eatPerform();		d.flyPerform();		((WhiteDuck) d).sayHello();	}}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 六枝特区| 吉首市| 台东市| 尉氏县| 扎鲁特旗| 昭觉县| 明光市| 刚察县| 巴南区| 西青区| 大丰市| 丽江市| 普洱| 武宣县| 什邡市| 平定县| 台东县| 桂平市| 永定县| 延津县| 浙江省| 双流县| 安图县| 石棉县| 德州市| 玉门市| 正蓝旗| 齐齐哈尔市| 吉首市| 通许县| 吴川市| 柳林县| 白城市| 南陵县| 松阳县| 乌什县| 蚌埠市| 荔浦县| 江华| 德化县| 汉寿县|