主要目的,练习多态性,异常处理,设计模式
创建bean包,包含基础对象
创建员工类
package bean;
public class Employee {
private int id;
private String name;
private int age;
private double salary;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public Employee() {
super();
}
public Employee(int id, String name, int age, double salary) {
super();
this.id = id;
this.name = name;
this.age = age;
this.salary = salary;
}
public String getBasicInfo() {
return id + "\t" + name + "\t" + age + "\t" + salary;
}
@Override
public String toString() {
return id + "\t" + name + "\t" + age + "\t" + salary;
}
}
创建程序员类继承员工类
package bean;
public class Programmer extends Employee{
private int teamID;
private Status status = Status.FREE;
private Equipment equipment;
public Programmer() {
super();
}
public Programmer(int id, String name, int age, double salary,Equipment equipment) {
super(id,name,age,salary);
this.equipment = equipment;
}
public int getTeamID() {
return teamID;
}
public void setTeamID(int teamID) {
this.teamID = teamID;
}
public Status getStatus() {
return status;
}
public void setStatus(Status status) {
this.status = status;
}
public Equipment getEquipment() {
return equipment;
}
public void setEquipment(Equipment equipment) {
this.equipment = equipment;
}
@Override
public String toString() {
return super.getBasicInfo() + "\t程序员\t" + status.getSTATUS()+ "\t\t\t" + equipment.getEquipmentsInfo();
}
public String getInfo() {
return super.getBasicInfo() + "\t程序员\t";
}
}
创建设计师类继承程序员
package bean;
public class Designer extends Programmer {
private double Bouns;
public Designer() {
super();
}
public Designer(int id, String name, int age, double salary, Equipment equipment, double bouns) {
super(id, name, age, salary, equipment);
Bouns = bouns;
}
public double getBouns() {
return Bouns;
}
public void setBouns(double bouns) {
Bouns = bouns;
}
@Override
public String toString() {
return super.getBasicInfo() + "\t设计师\t" + getStatus().getSTATUS() + "\t" + Bouns + "\t\t" + getEquipment().getEquipmentsInfo();
}
@Override
public String getInfo() {
return super.getBasicInfo() + "\t设计师\t" + Bouns;
}
}
创建架构师类继承设计师
package bean;
public class Architect extends Designer {
private int stock;
public Architect() {
super();
}
public Architect(int id, String name, int age, double salary, Equipment equipment, double bouns, int stock) {
super(id, name, age, salary, equipment, bouns);
this.stock = stock;
}
public int getStock() {
return stock;
}
public void setStock(int stock) {
this.stock = stock;
}
@Override
public String toString() {
return super.getBasicInfo() + "\t架构师\t" + getStatus().getSTATUS() + "\t" + getBouns() + "\t" + stock + "\t" + getEquipment().getEquipmentsInfo();
}
@Override
public String getInfo() {
return super.getBasicInfo() + "\t架构师\t" + getBouns() + "\t" + stock;
}
}
创建设备接口
package bean;
//Equipment接口也可以定义为一个抽象类
public interface Equipment {
public abstract String getEquipmentsInfo();//获取设备信息的抽象方法
}
创建三种设备类,实现接口
台式机
package bean;
public class PC implements Equipment{
private String modle;//PC型号
private String display;//PC显示器型号
public PC() {
super();
}
public PC(String modle, String display) {
super();
this.modle = modle;
this.display = display;
}
public String getModle() {
return modle;
}
public void setModle(String modle) {
this.modle = modle;
}
public String getDisplay() {
return display;
}
public void setDisplay(String