软件设计:实验 23:策略模式

实验 23:策略模式

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:

1、理解策略模式的动机,掌握该模式的结构;

2、能够利用策略模式解决实际问题。

 

[实验任务一]:旅行方式的选择

旅游的出行方式有乘坐飞机旅行、乘火车旅行和自行车游,不同的旅游方式有不同的实现过程,客户可以根据自己的需要选择一种合适的旅行方式。

实验要求:

1. 画出对应的类图;

2. 提交源代码;

3. 注意编程规范。

1.

 

2.// 策略接口

public interface Strategy {

    void algorithm();

}

 

// 具体策略A:乘坐飞机旅行

public class ConcreteStrategyA implements Strategy {

    @Override

    public void algorithm() {

        System.out.println("选择乘坐飞机旅行");

    }

}

 

// 具体策略B:乘火车旅行

public class ConcreteStrategyB implements Strategy {

    @Override

    public void algorithm() {

        System.out.println("选择乘火车旅行");

    }

}

 

// 具体策略C:自行车游

public class ConcreteStrategyC implements Strategy {

    @Override

    public void algorithm() {

        System.out.println("选择自行车游");

    }

}

 

// 上下文

public class Context {

    private Strategy strategy;

 

    public void setStrategy(Strategy strategy) {

        this.strategy = strategy;

    }

 

    public void executeStrategy() {

        strategy.algorithm();

    }

}

 

// 客户端

public class Client {

    public static void main(String[] args) {

        Context context = new Context();

 

        // 选择乘坐飞机旅行

        context.setStrategy(new ConcreteStrategyA());

        context.executeStrategy();

 

        // 选择乘火车旅行

        context.setStrategy(new ConcreteStrategyB());

        context.executeStrategy();

 

        // 选择自行车游

        context.setStrategy(new ConcreteStrategyC());

        context.executeStrategy();

    }

}

posted @ 2024-12-03 08:55  痛苦代码源  阅读(4)  评论(0编辑  收藏  举报