/**编程题:
1.
假如我们在开发一个系统时需要对员工类类进行设计,程序员是员工,包含3个属性:姓名、工号以及工资。
经理也是员工,除了含有员工的属性外,另为还有一个奖金属性。
请使用继承的思想设计出程序员类和经理类。要求类中提供必要的方法进行属性访问。
*///员工类 public class Staff { private String name ; //姓名 private String jobNumber ; //工号 private double salary ; //工资 //无参构造 public Staff(){ } //有参构造 public Staff(String name,String jobNumber,double salary){ this.name = name ; this.jobNumber = jobNumber ; this.salary = salary ; } //提供公共的setXXX()/getXXX() public String getName(){ return name ; } public void setName(String name){ this.name = name ; } public String getJobNumber(){ return jobNumber ; } public void setJobNumber(String jobNumber){ this.jobNumber = jobNumber ; } public double getSalary(){ return salary ; } public void setSalary(double salary){ this.salary = salary ; } }
//程序员类 public class Programmer extends Staff { //构造 public Programmer(){ } public Programmer(String name,String jobNumber,double salary){ super(name,jobNumber,salary); //访问员工类的有参构造 } }
//经理类 public class Manager extends Staff { double bonus; //构造 public Manager(){ } public Manager(String name,String jobNumber,double salary){ super(name,jobNumber,salary); //访问员工的有参构造 } public void bonus(double bonus){ this.bonus = bonus; } }
//测试类 public class StaffTest { public static void main(String[] args) { Programmer programmer = new Programmer() ; programmer.setName("小张"); programmer.setJobNumber("12345"); programmer.setSalary(10000); System.out.println("程序员的名字是:"+programmer.getName()+",工号是:"+programmer.getJobNumber()+ ",工资是:"+programmer.getSalary()); Manager manager = new Manager() ; manager.setName("老王"); manager.setJobNumber("11111"); manager.setSalary(20000); manager.bonus(5000); System.out.println("经理的名字是:"+manager.getName()+",工号是:"+manager.getJobNumber()+ ",工资是:"+manager.getSalary()+",奖金是:"+manager.bonus); } }
/**
* 看程序,写结果
*/class ClassA{ public ClassA(){ System.out.println("ClassA()");//2) .//2)3) } } class ClassB{ public ClassB(){ System.out.println("ClassB()"); //1) //1) } } class ClassC extends Class