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);
        }
    }
    
    运行结果:
    老年人进来了,开始叫号
    老人开始在窗口办理业务
    老人做完事情后慢慢离开了
    年轻人进来了,开始叫号
    年轻人开始在窗口办理业务
    年轻人做完事情后快速离开了
    富人进来了,开始叫号
    富人开始在窗口办理业务
    富人做完事情后快速离开了
  • 相关阅读:
    [Asp.net]站点地图SiteMap
    [Asp.Net]最近一个项目的总结
    [Asp.net]说说密码框和只读框
    [工具]推荐一款查看dll依赖工具
    [工具]Serv-U配置教程
    [NHibernate]Nullables
    [NHibernate]NHibernate.Tool.hbm2net
    [NHibernate]使用AttributeNHibernate.Mapping.Attributes
    delphi跨平台SOCKET--System.Net.Socket
    INDY9发送tstream
  • 原文地址:https://www.cnblogs.com/yyanghang/p/11158963.html
Copyright © 2011-2022 走看看