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

该文展示了一个面向对象编程的示例,通过Java实现员工类(包括教研部的讲师和助教,行政部的维护专员和采购专员)的继承与抽象方法。每个员工都有编号、姓名和工作职责,类中定义了工作方法进行重写,以体现不同角色的工作内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员希西子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值