原文链接:[design-patterns]设计模式之一策略模式
对于原文内容的一些理解如下:
原文:"你很苦恼,但是作为有经验的开发人员,你很快想到可以采用接口去实现,将所有的动作都抽象成一个个接口,让子类实现需要的接口"
首先,一个类可以实现多个接口
public class FightUseAxe implements IFight,Chat{
}
之后我们来看实现上面那句话的具体代码
IFight接口:
public interface IFight {
void fight();
}
Chat接口:
public interface Chat {
public void chat();
}
父类Role:
public class Role {
//其他公共方法
}
子类King:
public class King extends Role implements IFight, Chat {
@Override
public void fight() {
System.out.println("国王用宝剑战斗");
}
@Override
public void chat() {
System.out.println("国王聊天");
}
public static void main(String[] args) {
King king1 = new King();
king1.chat();
king1.fight();
}
}
输出:
国王聊天
国王用宝剑战斗
子类Knight:
public class Knight extends Role implements IFight, Chat {
@Override
public void fight() {
System.out.println("骑士用宝剑战斗");
}
@Override
public void chat() {
System.out.println("骑士聊天");
}
public static void main(String[] args) {
Knight knight1 = new Knight();
knight1.chat();
knight1.fight();
}
}
输出:
骑士聊天
骑士用宝剑战斗