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

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

Head First_設計模式_策略模式

2019-11-11 07:44:43
字體:
來源:轉載
供稿:網友
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();	}}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 米泉市| 牡丹江市| 上杭县| 墨玉县| 萍乡市| 邮箱| 株洲县| 改则县| 广河县| 惠来县| 安乡县| 德兴市| 包头市| 英山县| 阳城县| 砚山县| 淄博市| 武平县| 吴江市| 图木舒克市| 上饶市| 遂昌县| 辽阳县| 双城市| 永昌县| 南京市| 武功县| 内乡县| 南和县| 崇左市| 镇赉县| 盐源县| 霍林郭勒市| 武义县| 黄石市| 桐庐县| 济宁市| 江津市| 松原市| 兴仁县| 资讯 |