java策略模式代码
策略模式是一种行为设计模式,它允许你在运行时改变对象的行为。下面是一个使用Java实现的简单策略模式示例:
java复制代码
// 定义策略接口 | |
public interface Strategy { | |
void execute(); | |
} | |
// 具体策略类1 | |
public class 冒泡排序java代码详解ConcreteStrategyA implements Strategy { | |
@Override | |
public void execute() { | |
System.out.println("执行策略A"); | |
} | |
} | |
// 具体策略类2 | |
public class ConcreteStrategyB implements Strategy { | |
@Override | |
public void execute() { | |
System.out.println("执行策略B"); | |
} | |
} | |
// 上下文类,持有策略对象 | |
public class Context { | |
private Strategy strategy; | |
public Context(Strategy strategy) { | |
this.strategy = strategy; | |
} | |
public void setStrategy(Strategy strategy) { | |
this.strategy = strategy; | |
} | |
public void executeStrategy() { | |
ute(); | |
} | |
} | |
// 使用示例: | |
public class Main { | |
public static void main(String[] args) { | |
Context context = new Context(new ConcreteStrategyA()); // 设置策略为策略A | |
uteStrategy(); // 执行策略,输出 "执行策略A" | |
context.setStrategy(new ConcreteStrategyB()); // 更改策略为策略B | |
uteStrategy(); // 执行策略,输出 "执行策略B" | |
} | |
} | |
在这个例子中,我们定义了一个Strategy接口,它有一个execute方法。然后我们创建了两个实现这个接口的具体类ConcreteStrategyA和ConcreteStrategyB。这两个类分别代表了两种不同的策略。
然后我们定义了一个Context类,它持有一个Strategy对象,并有一个方法来执行这个策略。我们可以改变Context所持有的Strategy对象,从而改变它的行为。这就是策略模式的精髓。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论