您的位置:首页 > 其它

设计模式- 策略模式

2016-03-17 11:28 316 查看
定义:定义算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。

多用组合,少用继承。

抽象出那些经常需要改变的内容,独立成接口。

例如 

//抽象类   角色

public abstract Character{

private WeaponBehavfor behavfor;

public void fight();

public void setWeaponBehavfor(WeaponBehavfor  w);

}

//国王继承与角色

public class King  extends Character{

public King(){

behavfor=new SwordBehavior();

}

public void attack(){

behavfor.userWeapon();

}

public void setWeaponBehavfor(WeaponBehavfor  w){

behavfor=w;

}

}

//武器接口  每个角色都可用多种武器。可以随时进行切换

public interface WeaponBehavfor{

public void userWeapon();

}

public class SwordBehavior extends WeaponBehavfor{

public void userWeapon(){

System.out.println("宝剑");

}

}

public class KnifeBehavior extends WeaponBehavfor{

public void userWeapon(){

System.out.println("匕首");

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: