zoukankan      html  css  js  c++  java
  • 2021/11/24策略模式

    策略者模式

    java代码

    package Strategy;
    
    public class AirplaneStrategy implements TravelStrategy {
        @Override
        public void goTravel() {
            System.out.println("乘飞机去旅行,飞机策略");	
        }
    }
    
    package Strategy;
    
    public class BicycleStrategy implements TravelStrategy {
        @Override
        public void goTravel() {
            System.out.println("骑行,骑行策略");	
        }
    }
    
    package Strategy;
    
    public class CarStrategy implements TravelStrategy {
        @Override
        public void goTravel() {
            System.out.println("自驾游,自驾策略");	
        }
    }
    
    package Strategy;
    
    public class FootStrategy implements TravelStrategy {
        @Override
        public void goTravel() {
            System.out.println("徒步旅行,徒步策略。");	
        }
    }
    
    package Strategy;
    
    public class StrategyTest {
        public static void main(String[] args) {
            Traveler traveler = new Traveler();
            
            traveler.setTravelStrategy(new AirplaneStrategy());
            traveler.goTravel();
            System.out.println();
            
            traveler.setTravelStrategy(new CarStrategy());
            traveler.goTravel();
            System.out.println();
            
            traveler.setTravelStrategy(new BicycleStrategy());
            traveler.goTravel();
            System.out.println();
            
            traveler.setTravelStrategy(new FootStrategy());
            traveler.goTravel();
            System.out.println();
        }
    }
    
    package Strategy;
    
    public class Traveler {
        private TravelStrategy travelStrategy;
    
        public TravelStrategy getTravelStrategy() {
            return travelStrategy;
        }
    
        public void setTravelStrategy(TravelStrategy travelStrategy) {
            this.travelStrategy = travelStrategy;
        }
        
        public void goTravel() {
            travelStrategy.goTravel();
        }
    }
    
    package Strategy;
    
    public interface TravelStrategy {
        void goTravel();
    }
    
  • 相关阅读:
    写给理工科人看的乐理(一)声学基础
    魔方最少记忆还原法
    甲乙两人互猜数字(鬼谷子问题)的逻辑推理与算法建模
    模板元编程实现素数判定
    UVa OJ 194
    UVa OJ 175
    UVa OJ 197
    UVa OJ 180
    UVa OJ 140
    判断input或者div.span等标签是否存在
  • 原文地址:https://www.cnblogs.com/qiangini/p/15600657.html
Copyright © 2011-2022 走看看