云南大学软件学院设计模式实验策略模式.精讲.doc 下载本文

Magic.display();

Magic.setMagAttack(new MagFire()); Magic.performMag();

Magic.setMagAttack(new MagWater()); Magic.performMag();

Magic.setMagAttack(new MagGold()); Magic.performMag();

Magic.setPhyAttack(new PhyHand()); Magic.performPhy(); Role Nin=new Ninjia(); Nin.display();

Nin.setPhyAttack(new PhyKnife()); Nin.performPhy();

Nin.setPhyAttack(new PhySword()); Nin.performPhy();

Nin.setPhyAttack(new PhyHand()); Nin.performPhy();

Nin.setMagAttack(new MagFire()); Nin.performMag();

System.out.println(\数字媒体技术 徐鑫桥\); } }

3.测试结果:

四、实验总结:

通过本次实验,了解了基本策略模式的结构,意图以及使用效果。策略模式是一种定义一系列算法的方法,所有算法完成相同工作,但是实现不同。 每个算法都有自己的类,可以通过自己的借口单独测试,简化了单元测试。

算法和使用算法的对象相互分离,针对接口编程而非针对实现编程,把可能需要变化的代

码独立出来,组合优于继承。客户程序可以在运行时动态选择算法,代码复用性好,便于修改和维护;用组合替代继承,效果更好。消除了冗长的条件语句序列,将不同的算法硬编码进一个类中。

指导教师签名: