2023/10/30 每日总结

今天完成了设计模式实验23

实验 23:策略模式

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

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

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

 

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

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

源代码

package org.test23;

public class BikeTravel implements Travel{
    @Override
    public void travel() {
        System.out.println("自行车游");
    }
}



package org.test23;

import java.util.Scanner;

public class Client {
    public static void main(String[] args) {
        Travel flightTravel = new FlightTravel();
        Travel trainTravel = new TrainTravel();
        Travel bikeTravel = new BikeTravel();
        Scanner scanner = new Scanner(System.in);
        System.out.println("选择出行方式.飞机,火车,自行车");
        // 根据用户的选择来选择策略
        switch (scanner.next()) {
            case "飞机":
                new TravelContext(flightTravel).travel();
                break;
            case "火车":
                new TravelContext(trainTravel).travel();
                break;
            case "自行车":
                new TravelContext(bikeTravel).travel();
                break;
            default:
                System.out.println("无效的出行方式选择");
        }
    }
}




package org.test23;

public class FlightTravel implements Travel{
    @Override
    public void travel() {
        System.out.println("乘坐飞机旅行");
    }
}




package org.test23;

public class TrainTravel implements Travel{
    @Override
    public void travel() {
        System.out.println("乘火车旅行");
    }
}




package org.test23;

public interface Travel {
    void travel();
}




package org.test23;

public class TravelContext {
    private Travel travel;

    public TravelContext(Travel travel) {
        this.travel = travel;
    }

    public void travel() {
        travel.travel();
    }
}

 

posted @ 2023-10-30 22:38  樱花开到我身边  阅读(15)  评论(0)    收藏  举报