开发人员调度软件
这几天在学校弄毕设,异常那边找了个简单数组l类项目做了一下
只为记录,好记性不如烂笔头
有误请指正
ありがとうございます。
我的公众号
作者:
晨钟暮鼓c
个人微信公众号: 程序猿的月光宝盒
个人微信公众号: 程序猿的月光宝盒
1.首先,项目名字是开发人员调动软件,基于控制台,需求如下
2.涉及知识点
- 类的继承性和多态性
- 对象的值传递、接口
- static和final修饰符
- 特殊类的使用:包装类、抽象类、内部类
- 异常处理
3.源码实现
类
Employee.java
package pers.jsc.dispatch.domain;
/**
* @author 金聖聰
* @title: Employee
* @projectName TeamDispatchApp
* @description: TODO
* @date 2019/5/8 23:48
*/
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(int id, String name, int age, double salary) {
this.id = id;
this.name = name;
this.age = age;
this.salary = salary;
}
protected String getDetails(){
return id +"\t"+
name +"\t"+
age +"\t\t"+
salary ;
}
@Override
public String toString() {
return getDetails();
}
}
Programmer.java
package pers.jsc.dispatch.domain.domainexte;
import pers.jsc.dispatch.domain.Employee;
import pers.jsc.dispatch.domain.Equipment;
import pers.jsc.dispatch.service.Status;
/**
* @author 金聖聰
* @title: Programmer
* @projectName TeamDispatchApp
* @description: TODO
* @date 2019/5/8 23:50
*/
public class Programmer extends Employee {
/**
* 用来记录成员加入开发团队后在团队中的ID
*/
private int memberId;
/**
* 成员状态
*/
private Status status = Status.FREE;
private Equipment equipment;
public int getMemberId() {
return memberId;
}
public void setMemberId(int memberId) {
this.memberId = memberId;
}
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;
}
public Programmer(int id, String name, int age, double salary, Equipment equipment) {
super(id, name, age, salary);
this.equipment = equipment;
}
protected String getMemberNumDetails() {
return memberId + "/" + getDetails();
}
public String getDetails4Team() {
return getMemberNumDetails() + "\t程序员\t";
}
@Override
public String toString() {
return getDetails() + "\t程序员\t" + status + "\t\t\t\t\t" + equipment.getDescription();
}
}
Designer.java
package pers.jsc.dispatch.domain.domainexte;
import pers.jsc.dispatch.domain.Equipment;
/**
* @author 金聖聰
* @title: Designer
* @projectName TeamDispatchApp
* @description: TODO
* @date 2019/5/8 23:55
*/
public class Designer extends Programmer {
/**
* 奖金
*/
private double bonus;
public double getBonus() {
return bonus;
}
public void setBonus(double bonus) {
this.bonus = bonus;
}
public Designer(int id, String name, int age, double salary, Equipment equipment, double bonus) {
super(id, name, age, salary, equipment);
this.bonus = bonus;
}
@Override
public String getDetails4Team() {
return getMemberNumDetails() +
"\t设计师\t" +
bonus;
}
@Override
public String toString() {
return getDetails() + "\t设计师\t" + getStat