zoukankan      html  css  js  c++  java
  • java策略模式

    /**
    * 策略模式测试
    * 策略模式:是一种行为模式,不在于算法的实现而在于算法的封装,使客户端独立于各个策略 -针对对象的行为
    * 简单工厂:旨在工厂对对象的创建 -针对对象的创建
    */
    例子:
    /**
    * 路线选择抽象策略类
    */
    public abstract class RoadStrategy {
    //旅行方式
    public abstract void travelWay();
    }

    /**
    * 策略上下文
    */
    public class ContextStrategy {
    //抽象策略
    private RoadStrategy roadStrategy;

    public ContextStrategy(RoadStrategy roadStrategy) {
    this.roadStrategy = roadStrategy;
    }

    //旅行方式
    public void travel(){
    roadStrategy.travelWay();
    }
    }
    /**
    * 骑车旅行
    */
    public class BikeStrategy extends RoadStrategy {
    @Override
    public void travelWay() {
    System.out.println("自行车出游......");
    }
    }
    /**
    * 自驾游
    */
    public class CarStrategy extends RoadStrategy {
    @Override
    public void travelWay() {
    System.out.println("开车自驾游....");
    }
    }
    测试:
    /**
    * 策略模式测试
    * 策略模式:是一种行为模式,不在于算法的实现而在于算法的封装,使客户端独立于各个策略 -针对对象的行为
    * 简单工厂:旨在工厂对对象的创建 -针对对象的创建
    */
    public class StrategyTest {
    public static void main(String[] args) {
    RoadStrategy bikeStrategy=new BikeStrategy();
    ContextStrategy contextStrategy_bike=new ContextStrategy(bikeStrategy);
    contextStrategy_bike.travel();

    RoadStrategy carStrategy=new CarStrategy();
    ContextStrategy contextStrategy_car = new ContextStrategy(carStrategy);
    contextStrategy_car.travel();

    }
    }
  • 相关阅读:
    [编译原理读书笔记][第3章 词法分析]
    [编译原理读书笔记][第2章 一个简单的语法制导程序
    [编译原理读书笔记][第一章 引论]
    [Python爬虫笔记][随意找个博客入门(一)]
    大二下学习总结
    [操作系统][简单文件系统实现]
    Hadoop综合大作业
    hive基本操作与应用
    理解MapReduce计算构架
    熟悉HBase基本操作
  • 原文地址:https://www.cnblogs.com/coderdxj/p/9635930.html
Copyright © 2011-2022 走看看