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);
        }
    }
    
    运行结果:
    老年人进来了,开始叫号
    老人开始在窗口办理业务
    老人做完事情后慢慢离开了
    年轻人进来了,开始叫号
    年轻人开始在窗口办理业务
    年轻人做完事情后快速离开了
    富人进来了,开始叫号
    富人开始在窗口办理业务
    富人做完事情后快速离开了
  • 相关阅读:
    树系列学习--树的定义(-)
    idea live template高级知识, 进阶(给方法,类,js方法添加注释)(二)
    mysql 查询所有子节点的相关数据
    maven util 类 添加 service
    idea live template高级知识, 进阶(给方法,类,js方法添加注释)
    idea live template
    eclipse 好用的插件总结
    Spirng+SpringMVC+Maven+Mybatis+MySQL项目搭建
    Mac OS 的命令行 总结
    jsp,jquery,spring mvc 实现导出文件
  • 原文地址:https://www.cnblogs.com/yyanghang/p/11158963.html
Copyright © 2011-2022 走看看