利用Java继承思想做员工类和经理类薪资的练习题(3.1)

        问题:假如我们在开发一个系统时需要对员工进行建模,员工包含3个属性:姓名、工号以及工资。经理也是员工,除了含有员工的属性外,另外还有一个奖金属性。请使用继承的思想设计出员工类和经理类。要求类中提供必要的方法进行属性访问。

        想法:先写出员工类以及定义员工类的三个属性:姓名、工号、薪资。私有后定义函数(),再调用this关键字。然后用work方法输出打印员工的这三个属性。(注意合计时,需要工资加奖金,因此还需要get方法return返回工资)

        而经理类直接extends继承员工类,继承员工的3个属性,同时额外定义奖金属性;通过work除了打印奖金,还需要打印合计(工资+奖金),所以调get方法,输出加上getSalary()+bonus

        而主函数就定义,new一个员工和一个经理的具体属性,再调用work方法输出。

个人参考例子如下:

/*
假如我们在开发一个系统时需要对员工进行建模,员工包含3个属性:
姓名、工号以及工资。经理也是员工,除了含有员工的属性外,另外还有一个奖金属性。
请使用继承的思想设计出员工类和经理类。要求类中提供必要的方法进行属性访问。
*/
class Staff
{
	private String id;
	private String name;
	private double salary;

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

	//用一个get方法调值,然后就可以用合计了
	public double getSalary()
	{
		return salary;
	}

	public void work()
	{
		System.out.println("工号:"+id+";姓名:"+name+";薪资:"+salary);
	}
}

class Manager extends Staff
{
	public Manager(String id,String name,double salary)
	{
		super(id,name,salary);
	}
	private double bonus;//奖金
	public void setBonus(double bonus)
	{
		this.bonus=bonus;
		
	}

	public void work()
	{
		super.work();
		
		System.out.print("奖金:"+bonus+";合计:"+(getSalary()+bonus));
	}
}

class Test_24
{
	public static void main(String[] args)
	{
		Staff s1=new Staff("001","张三",4000);
		s1.work();
		Manager s2=new Manager("002","王五",5000);
		s2.setBonus(200);
		s2.work();
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值