实现一个名为Person的类和它的子类Employee, Manager是Employee的子类,设计一个接口Add用于涨工资,普通

实现一个名为Person的类和它的子类Employee, Manager是Employee的子类,设计一个接口Add用于涨工资,普通员工一次能涨10%,经理能涨20%。
具体要求如下:
(1)Person类中的属性有:姓名name(String类型),地址address(String类型);
(2)Employee类中的属性有:工号ID(String型),工资wage(double类型),工龄(int型);
(3)Manager类中的属性有:级别level(String类型);
编写一个Test类,产生一个员工和一个经理并输出其具有的信息。

第1个回答  2020-11-15
Personjava
-----------------
package com.fs.test;

public class Person {
private String name;
private String address;
//定义构造方法
public Person(String name, String address){
this.name = name;
this.address = address;
}

}

Employee.java
------------

package com.fs.test;
//继承Person类
public class Employee extends Person {
private String ID;
private double wage;
private int workAge;

public Employee(String name, String address, String ID, double wage, int workAge){
super(name, address); //调用父类的构造方法
this.ID = ID;
this.wage = wage;
this.workAge = workAge;
}

public double add(String position){// 判断职位
if(position == "0"){
wage = wage*1.2;
}
else{
wage = wage*1.1;
}
return wage;
}
//设置get/set方法
public double getWage() {
return wage;
}
public void setWage(double wage) {
this.wage = wage;
}
}

--------------
Manager.java
------------
package com.fs.test;

//继承Employee类
public class Manager extends Employee{
private String level = ""; //1为普通员工,0为经理

public Manager(String name, String address, String ID, double wage, int workAge, String level){
super(name, address, ID, wage, workAge);
this.level = level;
}

//设置get/set方法
public String getLevel() {
return level;
}

public void setLevel(String level) {
this.level = level;
}
}
----------
Test.java
--------------

package com.fs.test;

public class Test {

public static void main(String[] args) {
// 新建对象
Manager normal = new Manager("狗剩", "哈尔滨", "001", 3500, 2, "1");
Manager manager = new Manager("张三", "南京", "002", 14000, 6, "0");
// 传入职位,Manager类型的对象没有add()方法,所以自动搜寻其父类,调用add()方法
normal.add(normal.getLevel());
manager.add(manager.getLevel());

System.out.println("normal wage is:"+normal.getWage());
System.out.println("manager wage is:"+manager.getWage());
}
}