门禁系统的面向对象设计课件.ppt

门禁系统的面向对象设计课件.ppt

ID:57168884

大小:1.40 MB

页数:26页

时间:2020-08-02

门禁系统的面向对象设计课件.ppt_第1页
门禁系统的面向对象设计课件.ppt_第2页
门禁系统的面向对象设计课件.ppt_第3页
门禁系统的面向对象设计课件.ppt_第4页
门禁系统的面向对象设计课件.ppt_第5页
资源描述:

《门禁系统的面向对象设计课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、门禁系统的面向对象设计成员:于鸽毛蓓李美问题描述某公司安装了电子门,要设计门禁系统:公司的雇员可以凭借密码、胸卡或指纹进入公司计算机根据雇员的验证方式对其身份进行验证管理员在监控室可以通过按钮直接开启电子门访客可以按门铃请求进入,由管理员为其放行管理员可以为新职员设置密码设计要求能够应用OO思想设计并实现门禁系统的功能要求,并要求系统具备良好的可扩展性、可维护性和健壮性。鼓励在原功能需求上根据实际情况进行功能的完善和创新。分析对象:sys包:ControlSys类,door类。user包:Admin类,Emp

2、loyee类,Guest类validate包:Validate接口类,GenericValidate基类,PassWordVid,CardVid,FingerMarkVid等子类最后一个text测试包:Text测试类ControlSys类:工作方法:publicvoidwork(){door=newDoor();log.info("开门");door.openDoor();try{Thread.sleep(5000);}catch(InterruptedExceptione){e.printStackTrac

3、e();}door.closeDoor();log.info("关门");}工作步骤:第一步:通过验证类接受的验证信息判断后发出是否开门信号,传到门禁类第二步:门禁类通过是否开门的信号,进行不同的操作user包:Guest类:雇员通过按门铃,管理员听见门铃后给其放行Employee类:雇员通过三种验证方式自由进出Admin类:管理员有两种功能1.给访客开门2.为新职员设置新密码user包主要方法:Guest类:Guest()构造方法,guest()方法Employee类:Employee()构造方法,empl

4、oyee()方法Admin类:Admin()构造方法三个静态常量:privatefinalstaticString[]pa=newString[100];privatefinalstaticString[]ca=newString[100];privatefinalstaticString[]fi=newString[100];Employee类主要方法:使用多态:publicEmployee(Validategen,Stringinput){//多态gen.setInput(input);gen.setIn

5、ner();gen.check();}使用此方法进行判断使用哪种验证方式if(input1.equals("pa")){generic=newPassWordVid();Employeeemp=newEmployee(generic,input0);}elseif(input1.equals("ca")){generic=newCardVid();Employeeemp=newEmployee(generic,input0);}elseif(input1.equals("fi")){generic=newFi

6、ngerMarkVid();Employeeemp1=newEmployee(generic,input0);}else{System.out.println("输入错误");}//if语句Admin类:Adm()方法跟新职员设置密码j++;System.out.println("请为新职员添加新密码验证信息(以pa开头后跟4个数字):");pa[j]=(String)input.next();while(!pa[j].substring(0,2).equals("pa")

7、

8、pa[j].length()!=

9、6){System.out.println("添加新密码验证信息错误,请重新输入(以pa开头后跟4个数字):");pa[j]=input.next();}GenericValidategen=newPassWordVid();gen.setInner();for(inti=1;i<100;i++){if(gen.getInner(i)==null){gen.setInner(pa[j],i);System.out.println("新职员的雇员号为:"+i);System.out.println("新职员的密

10、码为:"+gen.getInner(i));break;}//if语句}//for循环validate包主要方法:接口Validate:publicinterfaceValidate{//创立接口publicvoidsetInput(Stringinput0);publicvoidsetInner();publicvoidcheck();publicvoidsetInner(Stringgetmim

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。