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