抽象类与抽象方法的练习:编写一个Employee类,声明为抽象类,包含如下三个属性:name,id,salary。 提供必要的构造器和抽象方法:work()。 对于Manager类来说,他既是员工,还

编写一个Employee类,声明为抽象类,
包含如下三个属性:name,id,salary。
提供必要的构造器和抽象方法:work()。
对于Manager类来说,他既是员工,还具有奖金(bonus)的属性。
请使用继承的思想,设计CommonEmployee类和Manager类,要求类
中提供必要的方法进行属性访问

代码实现:

/*
编写一个Employee类,声明为抽象类,
包含如下三个属性:name,id,salary。
提供必要的构造器和抽象方法:work()。
 */
abstract class Employee {
  private String name;
  private int id;
  private double salary;
  public Employee(){

  }
  public Employee(String name, int id, double salary) {
    this.name = name;
    this.id = id;
    this.salary = salary;
  }
  public abstract void work();
}
/*
对于Manager类来说,他既是员工,还具有奖金(bonus)的属性。
 */
public class Manager extends Employee{
    private double bouns;//奖金

    public Manager(double bouns) {
        this.bouns = bouns;
    }

    public Manager(String name, int id, double salary, double bouns) {
        super(name, id, salary);
        this.bouns = bouns;
    }

    @Override//因为父类Employee存在抽象方法work()需要重写,否则Manager类报错//因为重写了父类的抽象方法work()所以Manager就不是抽象类了
    public void work() {
        System.out.println("管理员工");
    }
}
public class CommonEmployee extends Employee{

    public CommonEmployee() {
    }

    public CommonEmployee(String name, int id, double salary) {
        super(name, id, salary);
    }

    @Override//因为重写了父类的抽象方法work()所以CommonEmployee就不是抽象类了
    public void work() {
        System.out.println("员工在一线车间生产产品!");
    }
}

测试类:

/*
请使用继承的思想,设计CommonEmployee类和Manager类,要求类中提供必要的方法进行属性访问
 */
public class EmployeeTest {
    public static void main(String[] args) {
        CommonEmployee commonEmployee=new CommonEmployee("jack",11,4152);
        commonEmployee.work();
        Manager manager =new Manager("Jack",1112,88888,66666);
        //多态
        Employee manager1 =new Manager("Tom",12,888,666);
        manager1.work();
        manager.work();

    }
}

输出:
欢迎点赞评论,

  • 13
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值