Day_08【面向对象】扩展案例1_测试项目经理类和程序员类

  • 分析以下需求,并用代码实现:

  •  1.定义项目经理类 
     	属性:
     		姓名 工号 工资 奖金
     	行为:
     		工作work
     		
     2.定义程序员类
     	属性:
     		姓名 工号 工资
     	行为:
     		工作work
    

    要求: 向上抽取一个父类,让这两个类都继承这个父类,共有的属性写在父类中,子类重写父类中的方法

    编写测试类: 完成这两个类的测试

  • 分析:

  •  项目经理类:姓名,工号,工资,奖金,工作work(){}
     程序员类:姓名,工号,工资,工作work(){}
     
     抽象雇员(employee)类:
     		姓名,工号,工资,工作work();
    

*/
package com.itheima3;

//抽象雇员(employee)类:
//姓名,工号,工资,工作work();

public abstract class Employee {
private String name;
private String ID;
private double salary;

public Employee() {}

public Employee(String name,String ID,double salary) {
	this.name = name;
	this.ID = ID;
	this.salary = salary;
}

public String getName() {
	return name;
}

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

public String getID() {
	return ID;
}

public void setID(String iD) {
	ID = iD;
}

public double getSalary() {
	return salary;
}

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

public abstract void work();

package com.itheima3;

//项目管理类
public class Manager extends Employee{

private double bonus;

public Manager() {}

public Manager(String name,String ID,double salary,double bonus) {
	super(name,ID,salary);
	this.bonus = bonus;
}

public double getBonus() {
	return bonus;
}

public void setBonus(double bonus) {
	this.bonus = bonus;
}

@Override
public void work() {
	System.out.println("项目经理要擅于管理");
}

}

package com.itheima3;

public class Programmer extends Employee{

public Programmer() {}

public Programmer(String name,String ID,double salary) {
	super(name,ID,salary);
}

@Override
public void work() {
	System.out.println("程序员要努力写代码");
}

}

package com.itheima3;

public class Test {

public static void main(String[] args) {
	Manager m = new Manager("老王","001",30000,8000);
	System.out.println(m.getName()+"---"+m.getID()+"---"+m.getSalary()+"---"+m.getBonus());
	m.work();
	
	System.out.println("--------------------------------");
	
	Programmer p = new Programmer("小李","002",15000);
	System.out.println(p.getName()+"---"+p.getID()+"---"+p.getSalary());
	p.work();
}

}

控制台输出结果
控制台输出结果

原文地址:https://www.cnblogs.com/zzzsw0412/p/12772545.html