通过继承实现员工工资核算打印功能
父类:员工类
子类:部门经理、普通员工
1.部门经理工资=1000+单日工资*天数*等级
2.普通员工工资=单日工资*天数*等级
3.员工属性:姓名,单日工资,工作天数
4.员工方法打印工资
5.普通员工及部门经理都是员工子类,需要重写打印工资方法
6.定义并初始化普通员工对象、调用打印工资方法输出工资,定义并初始化部门经理对象,调用打印工资方法输出工资
package com.java.Homework_;
public class Homework04 {
public static void main(String[] args) {
Manage tom = new Manage("tom", 100, 1.2, 20);
//设置奖金
tom.setBouns(3000);
tom.printSal();
Worker worker = new Worker("关羽", 50, 1, 24);
worker.printSal();
}
}
package com.java.Homework_;
public class Employee {
private String name;
private double daysar;
private double grade;
private int day;
//打印工资
public void printSal(){
System.out.println("工资情况如下");
System.out.println("name"+name+"sarary"+daysar*grade*day);
}
public Employee(String name, double daysar, double grade, int day) {
this.name = name;
this.daysar = daysar;
this.grade = grade;
this.day = day;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getDaysar() {
return daysar;
}
public void setDaysar(double daysar) {
this.daysar = daysar;
}
public double getGrade() {
return grade;
}
public void setGrade(double grade) {
this.grade = grade;
}
public int getDay() {
return day;
}
public void setDay(int day) {
this.day = day;
}
}
package com.java.Homework_;
public class Manage extends Employee {
private double bouns;
//奖金不确定
public Manage(String name, double daysar, double grade, int day) {
super(name, daysar, grade, day);
}
public double getBouns() {
return bouns;
}
public void setBouns(double bouns) {
this.bouns = bouns;
}
@Override
public void printSal() {
System.out.println("经理"+getName()+"工资是="+(bouns+getDay()*getDaysar()*getGrade()));
}
}
package com.java.Homework_;
public class Worker extends Employee {
public Worker(String name, double daysar, double grade, int day) {
super(name, daysar, grade, day);
}
@Override
public void printSal() {
System.out.println("普通员工工资如下");
super.printSal();
}
}