ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 软件工程 >> 设计模式——策略模式

设计模式——策略模式(2/3)

来源:网络整理     时间:2015-12-17     关键词:设计模式

本篇文章主要介绍了"设计模式——策略模式",主要涉及到设计模式方面的内容,对于软件工程感兴趣的同学可以参考一下: 对设计模式的理解模式不是代码,而是针对设计问题的通用解决方案。你可以把它们应用到特定的应用中;设计模式告诉我们如何组织类和对象以及解决某种问题。想要数量使用设计...

publicclass SwordBehavior implements WeaponBehavior {

    @Override
    publicvoid useWeapon() {
        // TODO Auto-generated method stub        System.out.println("实现用宝剑挥砍!");
    }

}

其次分析角色,每个角色都会使用武器战斗所以角色都有一个fight(),同时要想实现在游戏中切换武器,必须还得有一个setWeapon(),所以这里建立一个名为Character的抽象类,这个抽象类中有一个fight方法和一个setWeapon方法;

publicabstractclass Character {
    WeaponBehavior weaponBehavior;// 注意这里是武器行为,不是具体行为的实现public Character() {
    }
    publicvoid fight() {
        weaponBehavior.useWeapon();
    }

    publicvoid setWeapon(WeaponBehavior wb) {
        weaponBehavior = wb;
    }
}

然后是每一个角色具体实现类,所有角色均继承Character,在每个角色的构造方法中我们都为期初始化了一个武器(在这里是每个武器的具体实现)。

publicclass Queen extends Character {
    public Queen(){
// TODO Auto-generated constructor stub weaponBehavior
=new KnifeBehavior(); } }

publicclass King extends Character {

    public King() {
        // TODO Auto-generated constructor stub        weap>new SwordBehavior();
    }

}

publicclass Troll extends Character {

    public Troll() {
        // TODO Auto-generated constructor stub        weap>new AxeBehavior();
    }

}

相关图片

相关文章