Object Oriented Programming for java Access Control System

  • 2021-06-28 09:14:29
  • OfStack

This article shares the object-oriented programming design of java access control system for your reference, which is as follows

The following is an introduction to the access control system:

demand

1. A company has installed electronic doors to design access control systems:

2. Employees of the company may enter the company by their password, breast card or fingerprint

3. Computers authenticate employees according to how they are authenticated

4. Administrators can open the electronic door directly by button in the monitoring room

5. Visitors may press the doorbell to request access and be released by the administrator

See the code below


/**
 * 门禁系统
 */
package Liu;
import java.util.*;
import org.apache.log4j.Logger;
import yazh.Admin;
 
public class Meji {
 public Door  door;   // 门禁系统的电子门
 public Input input;  // 门禁系统的输入设备
 public int  ring;  // 门铃,0为安静,1为鸣响
 public int  openSign=1; 
 private Logger  logger; // 日志文件
 public Meji(){
 this.door  = new Door();
 this.input = new Input();
 this.ring  = 0;
 this.openSign = 0;
 this.logger  = Logger.getLogger(Admin.class.getName());
 logger.debug("--------------欢迎进入门禁系统----------");
 System.out.println("门禁系统的使用方法\n" +
 ".模拟管理员按下开门按钮:输入“y”,按否是N");
 System.out.println("***************************************************");
 }
 public void work() {
 /* 检查开门信号 */
 if(this.getOpenSign()==1){
 System.out.println("开启电子门");
 logger.debug("~~~~~~~~~开启电子门,请进~~~~~~~" );
 door.open();      // 开启电子门
 }
 if(this.getOpenSign()==0){
 System.out.println("电子门关闭-------");
 logger.debug("~~~~~~~~电子门关闭,勿进~~~~~~~");
 door.close();      // 关闭电子门
 }
 
 /* 电子门开启状态将维持5秒后关闭 */
 if(door.gettate().equals(Door.OPEN)){
 try {
 System.out.println("请快点进入,电子门将延续5秒后关闭,");
 logger.debug("~~~~亲们~~~~~,请快点进入哦,5秒后就关闭喽!");
 Thread.sleep(5000);    // 让电子门开启状态维持5秒
 } catch (InterruptedException e) {
 return;
 }
 door.close(); 
 System.out.println("电子门已关闭");// 关闭电子
 logger.debug("~~~~~~~~电子门关闭,勿进~~~~~~~");
 }
 }
 /**
 * @param ring 要设置的 ring
 */
 public void ring() {
 this.ring = 1;
 }
 /**
 * @return door
 */
 public Door getDoor() {
 return door;
 }
 /**
 * @return input
 */
 public Input getinput() {
 return input;
 }
 public int getRing() {
 return ring;
 }
 /**
 * @param ring 要设置的 ring
 */
 public void setRing(int ring) {
 this.ring = ring;
 }
 /**
 * @return openSign
 */
 public int getOpenSign() {
 return this.openSign;
 }
 /**
 * @param openSign 要设置的 openSign
 */
 public void setOpenSign(int openSign) {
 this.openSign = openSign;// 开门信号,由管理员按下按钮时产生,1为开启信号
 }
 public Logger getLogger() {
 // TODO Auto-generated method stub
 return logger;//返回日志信息
 }
}
/*
 * 门禁系统的输入设备
 */
package Liu;
import java.util.Scanner;
import org.apache.log4j.Logger;
 
import yazh.Admin;
public class Input {
 private String input = null; //暂时保存密码
 private Logger logger;
 /**
  * 输入设备接受认证信息
  */ 
 public void input(){
 
  this.logger  = Logger.getLogger(Input.class.getName());
  Scanner scanner = new Scanner(System.in);
  System.out.println("身份验证:" );
  String passStr = scanner.next();//密码验证
  if(passStr.equals("pa12345")){
  System.out.println("密码验证正确,请进");
  logger.debug("---亲----密码验证正确,请进哦!!!!!--~");
       
  }
  
  /*验证胸卡*/
  else if (passStr.equals("ca12345")){
   System.out.println("胸卡验证正确,请进");
   logger.debug("---亲----胸卡验证正确,请进哦!!!!!--~");
  } 
 
  /*验证指纹*/
  else if(passStr.equals("fa12345")) {
   System.out.println("指纹验证正确,请进");
   logger.debug("---亲----指纹验证正确,请进哦!!!!!--~");
   
  }
  else{
   System.out.println("验证错误,请重新输入");
  logger.debug("---sorry----验证错误哦!!!!!--~");
  }
  
  
   
 }
 public String getInput() {
  return input;
 }
 public void setInput(String input) {
  this.input = input;
 }
}

Source Code Download Address: java Access Control System


Related articles: