情景引入 代码如下
Employee类Manager类ManagerTest类
情景引入在职场中,经理的工资通常要高于普通员工,但是对于经理和员工两个对象,他们又存在很多相同点:姓名,年龄…
而不同点就是在薪资差异。
此时如果设计两个普通的类,这样会导致代码重复率高,这是代码不良的表现。
所以我们可以使用到Java的特性之一——继承。
用父类来表示通用的部分,子类来表示特殊的部分。
Employee类为父类。
Manager类为子类。
ManagerTest类来输入输出。
public class Employee {
private String name;
private int age;
private double baseSalary;
public Employee(String name, int age, double baseSalary) {
super();
this.name = name;
this.age = age;
this.baseSalary = baseSalary;
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
public double getSalary(){
return baseSalary;
}
}
Manager类
public class Manager extends Employee{
private double bonus;
public Manager(String name,int age,double baseSalary){
super(name, age, baseSalary);
}
public void Bonus(double bonus){
this.bonus=bonus;
}
public double getSalary(){
double baseSalary=super.getSalary();
return super.getSalary()+bonus;
}
}
ManagerTest类
import java.util.ArrayList;
public class ManagerTest {
ArrayList listE=new ArrayList();
public void add(Employee e){
listE.add(e);
}
public void list(){
for(Employee e:listE){
System.out.println("name:"+e.getName()+",age:"+e.getAge()+",salary:"+e.getSalary());
}
}
public static void main(String[] args) {
ManagerTest mt=new ManagerTest();
Manager boss=new Manager("Eric",21,1000);
boss.Bonus(5000);
mt.add(new Employee("Sivan",20,1000));
mt.add(new Employee("Xin",20,1000));
mt.add(boss);
mt.list();
}
}



