0
点赞
收藏
分享

微信扫一扫

继承 笔记

alanwhy 2022-04-23 阅读 38
eclipse

 

 

//员工父类
public class Staff {
	private	String name;
	private int salary;//基本工资
	private int score;//绩效
	public Staff() {
	}
	
	public Staff(String name, int salary, int score) {
		this.name = name;
		this.salary = salary;
		this.score = score;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getSalary() {
		return salary;
	}

	public void setSalary(int salary) {
		this.salary = salary;
	}

	public int getScore() {
		return score;
	}

	public void setScore(int score) {
		this.score = score;
	}
	
	public double getTrueSalary(int salary,int score) {//获取实发工资
			return salary*0.8+salary*0.2*score*0.01;
	}

	@Override
	public String toString() {
		return "姓名:" + name + ", 底薪:" + salary + ", 绩效:" + score + ",实发工资:"+getTrueSalary(salary,score);
	}
	
}


public class Manager extends Staff{
	private int marketCost;//市场费用
	
	public int getMarketCost() {
		return marketCost;
	}

	public void setMarketCost(int marketCost) {
		this.marketCost = marketCost;
	}

	//经理的工资计算
	//重写父类的计算工资的方法
	@Override
	public double getTrueSalary(int salary, int score) {
		return salary*0.7+salary*0.3*score*0.01+getMarketCost();
	}

}

 


public class Employee extends Staff{
//普通员工工资计算
	@Override
	public double getTrueSalary(int salary, int score) {
		return salary*0.9+salary*0.1*score*0.01;
	}

}

 


public class TestStaff {
	public static void main(String[] args) {
		//创建员工经理对象
		Manager m1=new Manager();
		m1.setName("张三");
		m1.setSalary(15000);
		m1.setScore(80);
		m1.setMarketCost(20000);
		System.out.println(m1);
		
		//创建普通员工
		Employee e1=new Employee();
		e1.setName("李四");
		e1.setSalary(8000);
		e1.setScore(90);
		System.out.println(e1);
	}
	
	
}

 

举报

相关推荐

0 条评论