黑马程序员-银行业务调动系统

 

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

       紧接着交通灯系统之后,又是一道面试题,是关于银行业务调度系统的,跟随着老师的思路,一共有六个窗口,四个窗口为普通窗口,一个快速窗口,还有一个VIp窗口,每个窗口所执行的任务接待的对象的先后顺序不同,看了张老师编译的程序,内心无比的佩服与羡慕,真得好完美,每种情况都能实现。

     然后就是面向对象的分析与设计,分析其中有多少类,以及多少对象,和他们之间的关系。张老师用画图的方法,展示了取号器这个对象运作的方法,以及各个里面的系统返回的方式,很形象很生动。接下来就跟着张老师一起去具体的写出这个程序。

    

public class NumberManager {
 private int lastNumber;
 private List<Integer> queueNumber= new ArrayList<Integer>();
 public synchronized int generateNewManager(){                                                    //synchronized  多个进程访问会形成互斥
  queueNumber.add(lastNumber);
  return lastNumber++;
 }

 public synchronized int fetchServiceNumber(){
  return queueNumber.remove(0);                                                                              //返回被拿走的参数
 }
}

 

以上是第一个类,接下来就是描述一个机器

public class NumberMachaine {
 private NumberManager commonManager = new NumberManager();                    //定义三种分类
 private NumberManager experssManager = new NumberManager();
 private NumberManager vipManager = new NumberManager();
 public NumberManager getCommonManager() {
  return commonManager;
 }
 public NumberManager getExperssManager() {
  return experssManager;
 }
 public NumberManager getVipManager() {
  return vipManager;
 }
 
 private NumberMachaine(){}
    public static NumberMachaine getInstance(){
          return instance;
    }
 private static NumberMachaine  instance= new NumberMachaine();
 
}

    最后还有一个服务窗口类我这里就不打出来了,这个系统张老师根据面对对象原理把原本很复杂的思路变得非常的清晰化,但是我们新手要做到这个水平还要努力学习,希望在黑马可以快速成长!

 

 

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值