需求:
* 员工(Employee),按照工作内容不同分教研部员工(Teacher)和行政部员工(AdminStaff)
* 教研部根据教学的方式不同又分为讲师(Lecturer)和助教(Tutor)
* 行政部根据负责事项不同,有分为维护专员(Maintainer),采购专员(Buyer)
* 公司的每一个员工都编号,姓名和其负责的工作
* 要求输出以下内容:
* 讲师: 工号为 001 的讲师 小峰 在 讲课
* 助教: 工号为 131 的助教 小宝 在 帮助学生解决问题
* 维护专员: 工号为 253 的维护专员 小燕 在 解决不能共享屏幕问题
* 采购专员: 工号为 453 的采购专员 小甜 在 采购音响设备
项目目的:该项目为面向对象进阶,主要以掌握面向对象继承,抽象,以及方法的重写等基本概念,以掌握继承和抽象的深意和用法。
Employee员工类
package com.Test.demo3_Employee;
//员工类
public abstract class Employee {
int id;
String name;
String worker;
public abstract void work();
public Employee() {
super();
}
public Employee(int id, String name, String worker) {
super();
this.id = id;
this.name = name;
this.worker = worker;
}
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 String getWorker() {
return worker;
}
public void setWorker(String worker) {
this.worker = worker;
}
}
教师部门类
package com.Test.demo3_Employee;
//教师部类
public abstract class Teacher extends Employee{
public Teacher(){
super();
}
public Teacher(int id,String name,String worker){
super(id,name,worker);
}
}
行政部门类
package com.Test.demo3_Employee;
//行政部类
public abstract class AdminStaff extends Employee{
public AdminStaff(){
super();
}
public AdminStaff(int id,String name,String worker){
super(id,name,worker);
}
}
教师类
package com.Test.demo3_Employee;
//教师
public class Lecturer extends Teacher{
public Lecturer(){
super();
}
public Lecturer(int id,String name,String worker){
super(id,name,worker);
}
public void work() {
System.out.println(getWorker()+":" + "工号为" + getId()+ "的" + getName() + "在讲课!");
}
}
助教类
package com.Test.demo3_Employee;
//助教
public class Tutor extends Teacher{
public Tutor(){
super();
}
public Tutor(int id,String name,String worker){
super(id,name,worker);
}
public void work() {
System.out.println(getWorker()+":" + "工号为" + getId()+ "的" + getName() + "在讲课!");
}
}
维护专员类
package com.Test.demo3_Employee;
//维护专员
public class Maintainer extends AdminStaff{
public Maintainer(){
super();
}
public Maintainer(int id,String name,String worker){
super(id,name,worker);
}
public void work() {
System.out.println(getWorker()+":" + "工号为" + getId()+ "的" + getName() + "在讲课!");
}
}
采购员类
package com.Test.demo3_Employee;
//采购员
public class Buyer extends AdminStaff{
public Buyer(){
super();
}
public Buyer(int id,String name,String worker){
super(id,name,worker);
}
public void work() {
System.out.println(getWorker()+":" + "工号为" + getId()+ "的" + getName() + "在讲课!");
}
}
测试类
package com.Test.demo3_Employee;
/**
*
*
*/
public class Test {
public static void main(String[] args) {
//
Lecturer l = new Lecturer(001 ,"小峰 ","讲师");
l.work();
Tutor t = new Tutor(131 ,"小宝 ","助教");
t.work();
Maintainer m = new Maintainer(253 ,"小燕 ","维护专员");
m.work();
Buyer b = new Buyer(453 ,"采购员","小甜 ");
b.work();
}
}
控制台:
讲师:工号为001的讲师小峰在讲课
助教: 工号为13 的助教小宝 帮助学生解决问题
维护专员:工号为253的维护专员小燕在解决不能共享屏幕问题
采购专员:工号为453的采购专员小甜在采购音响设备进程已结束,退出代码为 0