需求描述:
通过继承实现员工工资核算打印功能。
父类:员工类。(10分)
子类:部门经理类、普通员工类(10分)
部门经理工资=1000+单日工资*天数*等级(1.2)。(10分)
普通员工工资=单日工资*天数*等级(1.0)。(10分)
(1)员工属性:姓名,单日工资,工作天数(10分)
(2)员工方法(打印工资)(10分)
(3)普通员工及部门经理都是员工子类,需要重写打印工资方法。(10分)
(4)定义并初始化普通员工对象,调用打印工资方法输入工资,定义并初始化部门经理对象,调用打印工资方法输入工资(10分)
代码:
public class 员工工资核算打印 { public static void main(String[] args) { Worker_common wc = new Worker_common("普通员工",300,10,1); wc.show(1); Worker_manager wm = new Worker_manager("经理",500,10,1.2); wm.show(1.2); } } class Worker{ private String name; private int salary_day; private int day_work; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getSalary_day() { return salary_day; } public void setSalary_day(int salary_day) { this.salary_day = salary_day; } public int getDay_work() { return day_work; } public void setDay_work(int day_work) { this.day_work = day_work; } public Worker() {}; public Worker(String name, int salary_day, int day_work) { super(); this.name = name; this.salary_day = salary_day; this.day_work = day_work; } public void show(double grand) { System.out.println("我叫"+name+"我的工资为"+salary_day*grand*day_work); } } class Worker_common extends Worker{ private double grand; public Worker_common() {}; public Worker_common(String name, int salary_day, int day_work,double grand) { super(name,salary_day,day_work); this.grand = grand; } public double getGrand() { return grand; } public void setGrand(double grand) { this.grand = grand; } @Override public void show(double grand) { System.out.println("我是"+super.getName()+",我的工资为"+(super.getSalary_day()*super.getDay_work()*this.grand)); } } class Worker_manager extends Worker{ private double grand; public Worker_manager(String name, int salary_day, int day_work,double grand) { super(name,salary_day,day_work); this.grand = grand; } public double getGrand() { return grand; } public void setGrand(double grand) { this.grand = grand; } @Override public void show(double grand) { System.out.println("我是"+super.getName()+",我的工资为"+(1000+super.getSalary_day()*super.getDay_work()*this.grand)); } }输出:
我是普通员工,我的工资为3000.0 我是经理,我的工资为7000.0看到了结果的我眼泪流下来。。。。。。一天相差200,加上底薪,加上等级,只有10天,相差4000块。细思极恐。努力吧猿们。
