1)设计初中生、高中生两个类,并派生出父类及接口,接口中有抽家方法(计算 费用:z1<1用java
时间: 2024-03-26 13:37:06 浏览: 98
好的,根据您的需求,我可以给您提供一份初中生、高中生两个类的代码,包括父类和接口的设计。以下是一个简单的实现,仅供参考:
```java
// 定义一个计算费用的接口
interface CalculateFee {
double calculate();
}
// 定义一个学生类,作为父类
class Student {
protected String name;
protected int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
}
// 定义初中生类,继承自学生类,并实现计算费用接口
class JuniorStudent extends Student implements CalculateFee {
private int numOfMeals;
public JuniorStudent(String name, int age, int numOfMeals) {
super(name, age);
this.numOfMeals = numOfMeals;
}
@Override
public double calculate() {
double fee = numOfMeals * 5.0;
return fee;
}
}
// 定义高中生类,继承自学生类,并实现计算费用接口
class SeniorStudent extends Student implements CalculateFee {
private int numOfMeals;
public SeniorStudent(String name, int age, int numOfMeals) {
super(name, age);
this.numOfMeals = numOfMeals;
}
@Override
public double calculate() {
double fee = numOfMeals * 7.0;
return fee;
}
}
// 测试代码
public class Main {
public static void main(String[] args) {
JuniorStudent juniorStudent = new JuniorStudent("小明", 12, 3);
double juniorFee = juniorStudent.calculate();
System.out.println("初中生 " + juniorStudent.name + " 的用餐费用为:" + juniorFee);
SeniorStudent seniorStudent = new SeniorStudent("李华", 17, 2);
double seniorFee = seniorStudent.calculate();
System.out.println("高中生 " + seniorStudent.name + " 的用餐费用为:" + seniorFee);
}
}
```
在上面的代码中,我们定义了一个 `CalculateFee` 接口,它包含一个抽象方法 `calculate()`,用于计算各种类型学生的用餐费用。此外,我们还定义了一个 `Student` 父类,作为初中生、高中生两个子类的基类。
在 `JuniorStudent` 类中,我们实现了 `CalculateFee` 接口,并重写了 `calculate()` 方法。在 `SeniorStudent` 类中同样实现了 `CalculateFee` 接口,并重写了 `calculate()` 方法。这样,我们可以根据不同类型学生的特点,分别计算其用餐费用。
最后,我们在 `Main` 类中进行了测试,并输出了初中生和高中生的用餐费用。当然,您可以根据实际需求来修改代码,增加更多的属性和方法。
阅读全文