设计模式笔记(策略模式)

原文链接:[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();
	}
}

输出:

骑士聊天
骑士用宝剑战斗
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值