策略模式简要解释图
2019-09-22 12:20:02 0 举报
策略模式简单UML
作者其他创作
大纲/内容
<<interface>>WeaponBehavior
useWeapon();
extends
Troll
figtht(){...}
implement
Queen
HAS-A
Knight
BowAndArrowBehavior
useWeapon(){//实现用弓箭射击}
Character
WeaponBehavior weapon;
fight();setWeapom(WeaponBehavior w){this.weapon=w;}
King
Character(角色)是抽象类,由具体的角色来继承。具体的角色包括:国王(King)、皇后(Queen)、骑士(Knight)、妖怪(Troll)。而Weapon(武器)是接口,由具体的武器来实现。所有实际的角色和武器都是具体类。任何角色如果想换武器,可以调用setWeapon()方法,此方法定义在Character超类中。在打斗(fight)过程中,会调用到目前武器的useWeapon()方法,攻击其他角色。角色和武器可以任意组合。
AxeBehavior
useWeapon(){//实现用斧头砍劈}
KnifeBehavior
useWeapon(){//实现用匕首刺杀}
SwordBehavior
useWeapon(){//实现用宝剑挥舞}
0 条评论
下一页