根据需求分析结合自己在银行排队等候的实际情况以及面向对象的设计,先要清楚有3个对象,分别是窗口,客户还有取号机。再来根据不同
的功能来加以实现。
在编写管理号码类的时候要注意的是,取号和叫号是同步的,所以要注意synchronized关键字。取号机在系统里面只有一个,所以把他做成
一个单例。
老师在视频里面又巧妙的运用了枚举类,将客户的类型都用枚举来表示,而且最重要的就是switch语句可以接收枚举类型的参数,并且比if
else的效率要高得多。
接下来就是实现窗口类的方法,根据不同客户需要,拿到不同类型的号码计算出相关的时间差,为了使代码能够有重用性,可以把快速窗口
跟VIP窗口都做成普通客户的子类,覆盖掉其父类的方法,替换掉其中的一些方法,是代码更简洁,更有技术含量。。