Java面向对象Employee员工项目(继承,抽象)

需求:
 * 员工(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

你可能感兴趣的:(Java面向对象进阶栏,java)