abstract class 员工{
private String 姓名;
private String 工号;
private double 工资;
private String 奖金属性;
public 员工(String 姓名, String 工号, double 工资, String 奖金属性){
this.姓名 = 姓名;
this.工号 = 工号;
this.工资 = 工资;
this.奖金属性 = 奖金属性;
}
//生成上面的set get方法。
}
class 张三 extends 员工{
public 张三(String 姓名, String 工号, double 工资, String 奖金属性) {
super(姓名, 工号, 工资, 奖金属性);
}
}
class 经理 extends 员工{
public 经理(String 姓名, String 工号, double 工资, String 奖金属性) {
super(姓名, 工号, 工资, 奖金属性);
}
}
/**
*测试类
**/
public class Util{
public static void main(String[] args){
//多态的理解思路
员工 zhang = new 张三("张三","001",200.01,"年终奖");
}
}
你先写几个class吧
员工类(Employee)是父类,有3个属性,姓名,工号,工资
经理类(Manager)是子类,继承了员工类的属性,但是经理类还有自己的新属性,奖金,
详细见测试类(Test)
/**
* 员工
*/
public class Employee {
// 姓名
private String name;
// 工号
private String empNo;
// 工资
private double salary;
public Employee(String name, String empNo, double salary) {
this.name = name;
this.empNo = empNo;
this.salary = salary;
}
@Override
public String toString() {
return "工号:" + this.getName() + ",姓名:" + this.getEmpNo() + ",工资:" + this.getSalary() + "元/月";
}
public String getName() {
return name;
}
public String getEmpNo() {
return empNo;
}
public double getSalary() {
return salary;
}
}
/**
* 经理
*/
public class Manager extends Employee {
// 奖金
private double bonus;
public Manager(String name, String empNo, double salary) {
super(name, empNo, salary);
this.bonus = 0;
}
/**
* 设置经理的奖金
*
* @param bonus
*/
public void setBonus(double bonus) {
this.bonus = bonus;
}
/**
* 经理的工资=基本工资+奖金
*/
@Override
public double getSalary() {
return super.getSalary() + this.bonus;
}
}
public class Test {
public static void main(String[] args) {
// 星爷作为员工,每月就0.001元
Employee xingYe = new Employee("周星驰", "007", 0.001);
System.out.println(xingYe);
// 棒子金正日每月作为员工有100000
Employee bangzi = new Manager("金正日", "xxx", 100000);
System.out.println(bangzi);
// 可是他作为经理,还有99999元的奖金
((Manager)bangzi).setBonus(99999);
System.out.println(bangzi);
}
}