实现一个名为Person的类和它的子类Employee,Manager是Employee的子类,设计一个方法add用于涨工资,普通员工一次能涨10%,经理能涨20%。

1、实现一个名为Person的类和它的子类Employee,Manager是Employee的子类,设计一个方法add用于涨工资,普通员工一次能涨10%,经理能涨20%。具体要求如下:
(1)Person类中的属性有:姓名name、地址address,定义该类的构造方法; 
(2)Employee类中的属性有:工号id、工资wage、工龄workAge,定义该类的构造方法; 
(3)Manager类中的属性有:级别level,定义该类的构造方法; 
(4)编写一个测试类,创建一个员工和一个经理对象,给该员工和经理涨工资,并输出其具有的信息。

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", 10000, 7, "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());
    }
}

猜你喜欢

转载自www.cnblogs.com/ooo888ooo/p/11099965.html