继承的目的就是代码的复用,省去重复的工作,同时又可以在父类的基础上进行属性或功能的拓展。
下面是继承的一道小题:
项目经理类
属性:姓名 工号 工资 奖金
行为:工作work(打印姓名、工号、工资、奖金)
程序员类
属性:姓名 工号 工资
行为:工作work(打印姓名、工号、工资)
██public class Staff {
protected String name;
protected int number;
protected int Annual_salary;
public Staff(String name, int number, int Annual_salary) {
this.name = name;
this.number = number;
this.Annual_salary = Annual_salary;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public int getAnnual_salary() {
return Annual_salary;
}
public void setAnnual_salary(int Annual_salary) {
this.Annual_salary = Annual_salary;
}
}
██public class Manager extends Staff {
private int bonus;
public int getBonus() {
return bonus;
}
public void setBonus(int bonus) {
this.bonus = bonus;
}
public Manager(String name, int number, int Annual_salary, int bonus) {
super(name, number, Annual_salary);
this.bonus = bonus;
}
public String toString() {
return "姓名:" + this.name + " 工号:" + this.number + " 年薪:" + this.Annual_salary + " 奖金:" + this.bonus;
}
}
██public class Programmer extends Staff {
public Programmer(String name, int number, int Annual_salary) {
super(name, number, Annual_salary);
}
public String toString() {
return "姓名:" + this.name + " 工号:" + this.number + " 年薪:" + this.Annual_salary;
}
}
██public class Inherit_Test {
public static void main(String[] args) {
Manager m = new Manager("权栈", 1001, 600000, 30000);
Programmer p = new Programmer("马农", 5005, 150000);
System.out.println(m);
System.out.println(p);
}
}