JAVA练习(继承,this,super)——员工工资核算打印

需求描述:

通过继承实现员工工资核算打印功能。

父类:员工类。(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块。细思极恐。努力吧猿们。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值