flex学习之路  
日历
<2025年7月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789
统计
  • 随笔 - 0
  • 文章 - 1
  • 评论 - 0
  • 引用 - 0

导航

留言簿

文章分类

文章档案

搜索

  •  

最新评论

 

设计模式是人们在OO思维的基础上发现的一些可以使程序实现可复用,易维护,易扩展,灵活性好的一些经验成果.
设计原则
1.找出应用中可能需要变化之处,将它独立出来,不要和那些不需要改变的混在一起
系统中某部分改变不会改变其他部分.
2.针对接口编程 而不是针对实现编程.
3.多用组合,少用继承.

策略模式 StrategyPattern
定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户


public abstract class Character {
    
protected WeaponBehavior weapon;
    
public Charcter() {
        
    }

    
    
public void setWeapon(WeponBehavior wp) {
        weapon 
=wp;
    }
 
        
    
public void fight() {
        weapon.use();
    }

    
    
}

设置角色抽象超类
public interface Weapon {
    
public void use(); 
}
设置武器接口
public class AxeWeapon implements WeaponBehavior {
      
public void use() {
         System.out.println(
"用斧头砍");
      }

}
武器斧头
public class SwordWeapon implements WeaponBehavior {
      
public void use() {
         System.out.println(
"用宝剑");
      }

}
武器宝剑
public class Knight extends Character {
    
public knight() {
      weapon 
= new SwordWeapon();
    }

}
定义骑士类 默认使用宝剑
public class Troll extends Character {
    
public Troll() {
      weapon 
= new AxeWeapon();
    }

}
定义怪物 默认使用斧头
public class RealCharater {
     
public static void main(String[] args) {
        Character 
= new Knight();
        Knight.fight();   
//使用宝剑
         Knight.setWeapon(new AxeWeapon()); //更换武器
        Knight.fight();   //使用斧头
     }

}
测试类
posted on 2008-06-22 22:55 shadow 阅读(64) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航:
 
 
Copyright © shadow Powered by: 博客园 模板提供:沪江博客