银行业务调度系统(十二)


1.程序设计图:

 

 

2.类的设计:

NumberManager(号码管理器):用于产生不同类型客户的服务号码

  成员变量:

         号码计数器——用于记录上一个用户的服务号码;

         有序集合——用于存储等待服务的客户的号码;

  成员方法:

         产生号码——根据上一个客户的服务号码,产生下一个客户的服务号码,并把它添加到有续集合并且返回该号码(即用户获取号码);

         获取号码——获取并移除有序集合里第一个等待的客户(即服务窗口为一个客户服务)

         上面的方法由于操作了同一资源,需要同步;

 

NumberMachine(号码机器):号码机器用于管理号码管理器,整个程序运行期间只有一个实例,则需要设计成单例;

   成员变量:三个号码管理器对象,分别对应“普通客户”、“快速客户”、“VIP客户”;

   成员方法:三个获取号码管理器的方法;

CustomerType(客户类型,枚举):包含三个成员分别对应三类不同的客户,覆写toString方法用来返回三个成员对应的中文名称;

ServiceWindow(服务窗口):针对不同客户的服务窗口;

   成员变量:

             窗口号——指示当前窗口是哪个窗口;

             窗口类型——记录当前窗口是为哪类用户服务;

   成员方法:

             Start()——开启一个线程,根据客户类型调用不同的服务方法;

             commonService()——为普通客户服务;

             expressService()——为快速客户服务,没有快速客户为普通客户服务;

             vipService()——为VIP客户服务,没有快速客户为普通客户服务;

Constants:用来封装程序中用到的常量;

MainClassmain方法所在的类;

          创建六个服务窗口,4个为普通窗口,一个为快速窗口;

          开启三个定时器,分别定时创建不同的客户;

3.心得:

  面向对象是对现实生活的一种抽象总结的思想,所以使用面向对象思想解决问题就要联系实际,这样才能使问题变得简单。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值