java实现一个名为Person的类和它的子类Employee普通员工Manager经理是Employee的子类设计一个方法addSalary作为涨工资普通员工一次能涨10%经理能涨20%。 方法覆盖具体要求如下:1Person类中的属性有:姓名nameString类型地址addressString类型定义该类的构造方法; 2Employee类中的属性有:工号idString型工资salarydo
下面是Java实现的代码:
class Person {
private String name;
private String address;
public Person(String name, String address) {
this.name = name;
this.address = address;
}
public String getName() {
return name;
}
public String getAddress() {
return address;
}
}
class Employee extends Person {
private String id;
private double salary;
private int yearsOfExperience;
public Employee(String name, String address, String id, double salary, int yearsOfExperience) {
super(name, address);
this.id = id;
this.salary = salary;
this.yearsOfExperience = yearsOfExperience;
}
public String getId() {
return id;
}
public double getSalary() {
return salary;
}
public int getYearsOfExperience() {
return yearsOfExperience;
}
public void addSalary() {
salary = salary * 1.1; // 普通员工涨工资10%
}
}
class Manager extends Employee {
private String level;
public Manager(String name, String address, String id, double salary, int yearsOfExperience, String level) {
super(name, address, id, salary, yearsOfExperience);
this.level = level;
}
@Override
public void addSalary() {
salary = salary * 1.2; // 经理涨工资20%
}
}
public class Test {
public static void main(String[] args) {
Employee employee = new Employee("张三", "北京", "001", 5000, 2);
Manager manager = new Manager("李四", "上海", "002", 8000, 5, "高级");
employee.addSalary();
manager.addSalary();
System.out.println("员工信息:");
System.out.println("姓名:" + employee.getName());
System.out.println("地址:" + employee.getAddress());
System.out.println("工号:" + employee.getId());
System.out.println("工资:" + employee.getSalary());
System.out.println("工龄:" + employee.getYearsOfExperience());
System.out.println();
System.out.println("经理信息:");
System.out.println("姓名:" + manager.getName());
System.out.println("地址:" + manager.getAddress());
System.out.println("工号:" + manager.getId());
System.out.println("工资:" + manager.getSalary());
System.out.println("工龄:" + manager.getYearsOfExperience());
System.out.println("级别:" + manager.getLevel());
}
}
输出结果:
员工信息:
姓名:张三
地址:北京
工号:001
工资:5500.0
工龄:2
经理信息:
姓名:李四
地址:上海
工号:002
工资:9600.0
工龄:5
级别:高级
``
原文地址: http://www.cveoy.top/t/topic/inIA 著作权归作者所有。请勿转载和采集!