Java 设计一个人员类(person),其中包含一个方法pay,代表人员的工作支出。 再从person类中派生出教师类和大学生类,其中: 教师的工资支出为:基本工资+授课时数x30; 大学生的工资支出为:奖学金支出;
时间: 2024-10-18 13:11:18 浏览: 49
在Java中,我们可以设计一个`Person`类作为基础类,然后通过继承创建两个子类`Teacher`和`Student`。这里是一个简单的例子:
```java
// Person类
public class Person {
private double basicSalary; // 基本工资
// 构造函数
public Person(double basicSalary) {
this.basicSalary = basicSalary;
}
// 工资支出方法,返回值类型为double,表示工资总额
public double pay() {
return basicSalary;
}
}
// Teacher类,继承自Person
public class Teacher extends Person {
private int teachingHours; // 授课时数
// 构造函数,接收基本工资和授课时数
public Teacher(double basicSalary, int teachingHours) {
super(basicSalary);
this.teachingHours = teachingHours;
}
// 教师特有的工资计算方法,覆盖父类的pay方法
@Override
public double pay() {
return super.pay() + teachingHours * 30; // 基本工资加上授课时数乘以30元/小时
}
}
// Student类,继承自Person
public class Student extends Person {
private double scholarship; // 奖学金
// 构造函数,接收奖学金
public Student(double scholarship) {
super(0); // 学生无基本工资
this.scholarship = scholarship;
}
// 大学生特有的工资方法,直接返回奖学金
@Override
public double pay() {
return scholarship; // 只有奖学金支出
}
}
```
阅读全文