JAVA电子门管理系统

Door.java

package com.handson.sys;

public class Door {
	final String OPEN="门已开启";
	final String CLASE="门已关闭";
    private String state;
    private boolean bellState;
    public void open(){
    	this.setState(OPEN);
    }
    public void close(){
    	this.setState(CLASE);
    }
	public String getState() {
		return state;
	}
	public void setState(String state) {
		this.state = state;
	}
	public boolean isBellState() {
		return bellState;
	}
	public void setBellState(boolean bellState) {
		this.bellState = bellState;
	}
    
}


Guest.java

package com.handson.user;
import java.util.Scanner;
import com.handson.sys.Door;

public class Guest {
	private String name;
	public Guest(){}
	public Guest(String name){
		this.name=name;
	}

	public void pressRing(Door door) {
		Scanner in = new Scanner(System.in);
		System.out.print("访客:" + getName()+" 是否按响门铃(Y/N)?:");
		String input = in.next();
		if (input.equalsIgnoreCase("Y"))
			door.setBellState(true);
		else
			door.setBellState(false);
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}


Employee.java

package com.handson.user;

import java.util.Scanner;

public class Employee extends Guest {
	private String id;

	public Employee() {
	}

	public Employee(String name) {
		super(name);
	}

	public String input() {
		Scanner in = new Scanner(System.in);
		System.out.print("请输入身份ID:");
		setId(in.next());
		return getId();
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

}


Admin.java

package com.handson.user;

import java.util.Scanner;

import com.handson.sys.Door;

public class Admin extends Employee {
	public Admin(){}
	public Admin(String name){
		super(name);
	}
	public boolean work(Door door) {
		Scanner in = new Scanner(System.in);
		System.out.print("管理员:"+getName()+" 门铃想起,是否开启电子门(Y/N)?:");
		String input = in.next();
		if (input.equalsIgnoreCase("Y")) {
			door.setBellState(false);
			door.open();
			return true;
		} else
			return false;
	}

	public boolean work(Door door, Guest guest) {
		guest.pressRing(door);
		if(door.isBellState())
		{
			door.open();
			return true;
		}	
		else
		{
			this.work(door);
			return false;
		}	
		    
	}
}


DoorTest.java

package com.handson.test;

import com.handson.sys.Door;
import com.handson.user.Admin;
import com.handson.user.Employee;
import com.handson.user.Guest;

public class DoorTest {
	public static void main(String[] args) {
		Door door=new Door();
		Guest liqiang=new Guest("李强");
		Employee wangwei=new Employee("王伟");
		Admin huanghua=new Admin("黄华");
		liqiang.pressRing(door);
		System.out.println("访客:" + liqiang.getName()+"按响门铃。");
		if(huanghua.work(door)){
			System.out.println(door.getState());
		}
		else{
			System.out.println("拒绝开门。");
		}
		wangwei.input();
		System.out.println("信息验证失败。");
		wangwei.pressRing(door);
		System.out.println("访客:" + liqiang.getName()+"按响门铃。");
		if(huanghua.work(door)){
			System.out.println(door.getState());
		}
		else{
			System.out.println("拒绝开门。");
		}
	}
	
}


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值