11.28

发布时间 2023-11-28 16:47:31作者: 周正阳

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

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

 

 

JAVA

package rjsj.no23;

 

public class BicycleStrategy implements TravelStrategy{

    @Override

    public void travel() {

        System.out.println("骑自行车旅游");

    }

}

package rjsj.no23;

 

public class Client {

    public static void main(String[] args) {

        Traveler traveler = new Traveler();

 

        System.out.println("旅游开始!");

        TravelStrategy travelStrategy = new TrainStrategy();

        traveler.setTravelStrategy(travelStrategy);

        traveler.travel();

        System.out.println("**************************************************");

        System.out.println("旅游开始!");

        travelStrategy = new AirplaneStrategy();

        traveler.setTravelStrategy(travelStrategy);

        traveler.travel();

        System.out.println("**************************************************");

        System.out.println("旅游开始!");

        travelStrategy = new BicycleStrategy();

        traveler.setTravelStrategy(travelStrategy);

        traveler.travel();

        System.out.println("**************************************************");

    }

}

package rjsj.no23;

 

public class TrainStrategy implements TravelStrategy{

    @Override

    public void travel() {

        System.out.println("坐火车旅游");

    }

}

package rjsj.no23;

 

public class Traveler {

    private TravelStrategy travelStrategy;

 

    public void setTravelStrategy(TravelStrategy travelStrategy) {

        this.travelStrategy = travelStrategy;

    }

 

    public void travel(){

        travelStrategy.travel();

    }

}

package rjsj.no23;

 

public interface TravelStrategy {

    void travel();

}

package rjsj.no23;

 

public class AirplaneStrategy implements TravelStrategy{

    @Override

    public void travel() {

        System.out.println("乘坐飞机旅游");

    }

}

C++

package rjsj.no23;

 

public class Client {

    public static void main(String[] args) {

        Traveler traveler = new Traveler();

 

        System.out.println("旅游开始!");

        TravelStrategy travelStrategy = new TrainStrategy();

        traveler.setTravelStrategy(travelStrategy);

        traveler.travel();

        System.out.println("**************************************************");

        System.out.println("旅游开始!");

        travelStrategy = new AirplaneStrategy();

        traveler.setTravelStrategy(travelStrategy);

        traveler.travel();

        System.out.println("**************************************************");

        System.out.println("旅游开始!");

        travelStrategy = new BicycleStrategy();

        traveler.setTravelStrategy(travelStrategy);

        traveler.travel();

        System.out.println("**************************************************");

    }

}

package rjsj.no23;

 

public class TrainStrategy implements TravelStrategy{

    @Override

    public void travel() {

        System.out.println("坐火车旅游");

    }

}

package rjsj.no23;

 

public class Traveler {

    private TravelStrategy travelStrategy;

 

    public void setTravelStrategy(TravelStrategy travelStrategy) {

        this.travelStrategy = travelStrategy;

    }

 

    public void travel(){

        travelStrategy.travel();

    }

}

package rjsj.no23;

 

public interface TravelStrategy {

    void travel();

}

package rjsj.no23;

 

public class AirplaneStrategy implements TravelStrategy{

    @Override

    public void travel() {

        System.out.println("乘坐飞机旅游");

    }

}