在Java中使用策略模式,首先需要定義一個接口,該接口表示一個策略的抽象。接著,針對不同的具體策略,實現該接口的多個實現類。最后,在使用策略的地方,通過傳遞不同的具體策略對象來實現不同的行為。
以下是一個簡單的示例:
首先,定義一個策略接口:
public interface Strategy {
void execute();
}
接著,實現不同的具體策略類:
public class StrategyA implements Strategy {
@Override
public void execute() {
System.out.println("執行策略A");
}
}
public class StrategyB implements Strategy {
@Override
public void execute() {
System.out.println("執行策略B");
}
}
public class StrategyC implements Strategy {
@Override
public void execute() {
System.out.println("執行策略C");
}
}
最后,在使用策略的地方,通過傳遞不同的具體策略對象來實現不同的行為:
public class Context {
private Strategy strategy;
public void setStrategy(Strategy strategy) {
this.strategy = strategy;
}
public void executeStrategy() {
strategy.execute();
}
}
public class Main {
public static void main(String[] args) {
Context context = new Context();
// 設置策略A并執行
context.setStrategy(new StrategyA());
context.executeStrategy(); // 輸出:執行策略A
// 設置策略B并執行
context.setStrategy(new StrategyB());
context.executeStrategy(); // 輸出:執行策略B
// 設置策略C并執行
context.setStrategy(new StrategyC());
context.executeStrategy(); // 輸出:執行策略C
}
}
通過上述示例,可以看到策略模式的使用方式。通過定義接口和多個實現類,可以實現不同的行為,并通過具體策略對象的傳遞來使用不同的策略。