对象类练习题——(打印程序员、项目经理的属性与行为)

需求:
程序员:姓名、工号、薪水、行为:工作内容
项目经理:姓名、工号、薪水、奖金、行为:工作内容
分析:程序员和项目经理的属性:姓名、工号、薪水一致,方法:工作内容
发现:由于工作内容没有办法具体描述,就只能进行抽象提取方法,再让程序员和经理单独描述
(1)程序员和员工可以归纳为一类:员工staff

public abstract class Staff{
//	属性
	String name;
	int jobnumber;
	double salary;
//	构造方法(实例化对象传入参数)
	Staff(String name,int jobnumber,double salary){
		this.name=name;
		this.jobnumber=jobnumber;
		this.salary=salary;
	}
	//	建立一个抽象的工作内容方法
	public abstract void work();
}

(2)程序员

    public class Programmer extends Staff{
	//	构造方法
	Programmer(String name,int number,double salary){
		super(name,number,salary);
}
	//	方法的重写
	public void work() {
		System.out.println("姓名:"+name+"\t工号:"+number+"\t薪水:"+salary);
		System.out.println("努力写高质量的代码");
	}
}

(3)项目经理

public class Manner extends Staff{
	double bouns;
	//	构造方法
	Manner(String name,int number,double salary,double bouns){
		super(name,number,salary);
		this.bouns=bouns;
	}
	//	方法的重写
	public void work() {
		System.out.println("姓名:"+name+"\t工号:"+number+"\t薪水:"+salary+"\t奖金:"+bouns);
		System.out.println("管理。。。。。");
	}
}

(4)员工测试(Staff-Test)

public class Staff_test {
	public static void main(String[] args) {
		Manner m=new Manner("老王",712321,10000,1000);
		m.work();
		Programmer p=new Programmer("小花",745340,6600);
		p.work();	
	}
}

本篇综合地应用了super、this、抽象类的运用,需多加揣摩。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值