2.学校中有教师和学生两类人,而在职博士生既是教师又是学生。设计两个接口 StuInterface 和 Tea Interface。 其中,StuInterface 接口包括对学費的 set(和get0方法,分别用手设置和获取宇生的学费:TeaInterface 接口包括对工资的 set 0 和get 0方法,分别用手设置和获取教师的工资。+ 定义一个博士生类 Doctor,实现 StuInter face 接口和 TeaInterface 接口,它的成员变量有 name (姓名)ses (性别)-age(年龄)、fee(每学期学费)、pay(月工资),如果收入减去学费不足 3000 元,则输出 “provide a 1oan” 《需要货款,信息。编写测试类,测试所创建的 Doctor
时间: 2023-05-22 07:00:56 浏览: 234
大学生java实验(四)
类的功能。
以下是 Doctor 类的实现代码:
```
interface StuInterface {
void setFee(double fee);
double getFee();
}
interface TeaInterface {
void setPay(double pay);
double getPay();
}
class Doctor implements StuInterface, TeaInterface {
private String name;
private String sex;
private int age;
private double fee;
private double pay;
public Doctor(String name, String sex, int age, double fee, double pay) {
this.name = name;
this.sex = sex;
this.age = age;
this.fee = fee;
this.pay = pay;
}
@Override
public void setFee(double fee) {
this.fee = fee;
}
@Override
public double getFee() {
return fee;
}
@Override
public void setPay(double pay) {
this.pay = pay;
}
@Override
public double getPay() {
return pay;
}
public void printInfo() {
double income = pay - fee;
System.out.println("Name: " + name);
System.out.println("Sex: " + sex);
System.out.println("Age: " + age);
System.out.println("Fee: " + fee);
System.out.println("Pay: " + pay);
if (income < 3000) {
System.out.println("Provide a loan.");
}
}
}
```
以下是测试类的实现代码:
```
public class TestDoctor {
public static void main(String[] args) {
Doctor doctor = new Doctor("Tom", "Male", 30, 5000, 8000);
doctor.printInfo();
doctor.setFee(6000);
doctor.setPay(7000);
doctor.printInfo();
}
}
```
输出结果如下:
```
Name: Tom
Sex: Male
Age: 30
Fee: 5000.0
Pay: 8000.0
Provide a loan.
Name: Tom
Sex: Male
Age: 30
Fee: 6000.0
Pay: 7000.0
Provide a loan.
```
可以看到,Doctor 类成功实现了 StuInterface 和 TeaInterface 接口,并且能够正确计算收入和输出提供贷款的信息。测试类也成功测试了 Doctor 类的功能。
阅读全文