zoukankan      html  css  js  c++  java
  • Java

     策略模式

    在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。

    用来解决 执行流程固定 执行的结果由于提供了不同的策略而不同

    public abstract class People {
        private String name;
        public abstract void callNumber();
        public abstract void transact();
        public abstract void leave();
    }
    
    public class TheAged extends People {
        public  void callNumber(){
            System.out.println("老年人进来了,开始叫号");
        }
        public  void transact()
        {
            System.out.println("老人开始在窗口办理业务");
        }
        public  void leave(){
            System.out.println("老人做完事情后慢慢离开了");
        }
    }
    
    public class Stripling extends People {
        public  void callNumber(){
            System.out.println("年轻人进来了,开始叫号");
        }
        public  void transact()
        {
            System.out.println("年轻人开始在窗口办理业务");
        }
        public  void leave(){
            System.out.println("年轻人做完事情后快速离开了");
        }
    }
    
    public class Toff extends People{
        public  void callNumber(){
            System.out.println("富人进来了,开始叫号");
        }
        public  void transact()
        {
            System.out.println("富人开始在窗口办理业务");
        }
        public  void leave(){
            System.out.println("富人做完事情后快速离开了");
        }
    }
    
    public class Bank {
        public void profession(People people){
                people.callNumber();
                people.transact();
                people.leave();
        }
    }
    
    public class Test {
        public static void main(String[] args){
            Bank bank = new Bank();
            TheAged theAged = new TheAged();
            bank.profession(theAged);
            Stripling stripling = new Stripling();
            bank.profession(stripling);
            Toff toff = new Toff();
            bank.profession(toff);
        }
    }
    
    运行结果:
    老年人进来了,开始叫号
    老人开始在窗口办理业务
    老人做完事情后慢慢离开了
    年轻人进来了,开始叫号
    年轻人开始在窗口办理业务
    年轻人做完事情后快速离开了
    富人进来了,开始叫号
    富人开始在窗口办理业务
    富人做完事情后快速离开了
  • 相关阅读:
    js图片加载效果(延迟加载+瀑布流加载)
    iOS仿支付宝芝麻信用仪表盘效果
    Spark GraphX 的数据可视化
    [Animations] 快速上手 iOS10 属性动画
    iOS蓝牙BLE4.0通信功能
    微信小程序项目实战之天气预报
    Android利用温度传感器实现带动画效果的电子温度计
    Eclipse集成ijkplayer并实现本地和网络视频播放等
    Android HandlerThread详解
    AsyncTask 异步任务基本使用-下载视频
  • 原文地址:https://www.cnblogs.com/yyanghang/p/11158963.html
Copyright © 2011-2022 走看看