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);
        }
    }
    
    运行结果:
    老年人进来了,开始叫号
    老人开始在窗口办理业务
    老人做完事情后慢慢离开了
    年轻人进来了,开始叫号
    年轻人开始在窗口办理业务
    年轻人做完事情后快速离开了
    富人进来了,开始叫号
    富人开始在窗口办理业务
    富人做完事情后快速离开了
  • 相关阅读:
    常用命令
    添加云存储服务
    安装Prometheus-Opeartor
    Prometheus-operator架构详解
    Helm使用详解
    莫队乱搞--BZOJ2038: [2009国家集训队]小Z的袜子(hose)
    BZOJ1443: [JSOI2009]游戏Game
    BZOJ2006: [NOI2010]超级钢琴
    BZOJ4408: [Fjoi 2016]神秘数
    hdu6110:路径交
  • 原文地址:https://www.cnblogs.com/yyanghang/p/11158963.html
Copyright © 2011-2022 走看看