/**
* 行为模式。
* @author Bright Lee
*/
public class BehaviorPattern {
public static void main(String[] args) {
Animal animal = null;
animal = new Dog();
animal.setCallBehavior(new WangWangCallBehavior());
animal.call();
animal = new Cat();
animal.setCallBehavior(new MiaoMiaoCallBehavior());
animal.call();
}
}
class Animal {
protected CallBehavior callBehavior;
public void call() {
callBehavior.call();
}
public void setCallBehavior(CallBehavior callBehavior) {
this.callBehavior = callBehavior;
}
}
class Dog extends Animal {
public Dog() {
}
}
class Cat extends Animal {
public Cat() {
}
}
interface CallBehavior {
void call();
}
class WangWangCallBehavior implements CallBehavior {
public void call() {
System.out.println("汪汪!!");
}
}
class MiaoMiaoCallBehavior implements CallBehavior {
public void call() {
System.out.println("喵喵!!");
}
}
输出结果:
汪汪!!
喵喵!!
榴芒客服系统:https://blog.youkuaiyun.com/look4liming/article/details/83146776
本文介绍了一种行为模式的设计与实现方法,通过定义一系列的算法或行为,并将它们封装为对象,使得可以在运行时选择具体的行为。以动物叫声为例,展示了如何使用策略模式来实现不同动物的不同叫声行为。
1944

被折叠的 条评论
为什么被折叠?



