使用java应用面向接口的编程模拟学校接待假设一个学校接待方面的程序,招待不同身份的人的食宿问题,其对应规则学生去食堂吃饭! 学生回寝室睡觉! 教师去教工餐厅吃饭! 教师回学校公寓睡觉! 家长去招待所饭馆吃饭! 家长回招待所睡觉! 外宾去酒店吃饭! 外宾回酒店睡觉! 领导去宾馆吃饭! 领导回宾馆睡觉!
时间: 2024-02-09 11:13:24 浏览: 18
好的,为了实现面向接口的编程,我们需要定义接口以及具体的实现类。首先,我们定义一个接口 `Guest`,表示所有来访者的共同特征,其中包括用餐和休息两个方法:
```java
public interface Guest {
void dine();
void rest();
}
```
接下来,我们定义各种不同身份的来访者,分别实现这个接口:
```java
public class Student implements Guest {
@Override
public void dine() {
System.out.println("学生去食堂吃饭!");
}
@Override
public void rest() {
System.out.println("学生回寝室睡觉!");
}
}
public class Teacher implements Guest {
@Override
public void dine() {
System.out.println("教师去教工餐厅吃饭!");
}
@Override
public void rest() {
System.out.println("教师回学校公寓睡觉!");
}
}
public class Parent implements Guest {
@Override
public void dine() {
System.out.println("家长去招待所饭馆吃饭!");
}
@Override
public void rest() {
System.out.println("家长回招待所睡觉!");
}
}
public class ForeignGuest implements Guest {
@Override
public void dine() {
System.out.println("外宾去酒店吃饭!");
}
@Override
public void rest() {
System.out.println("外宾回酒店睡觉!");
}
}
public class Leader implements Guest {
@Override
public void dine() {
System.out.println("领导去宾馆吃饭!");
}
@Override
public void rest() {
System.out.println("领导回宾馆睡觉!");
}
}
```
最后,我们可以在主程序中创建不同身份的来访者对象,并调用它们的 `dine()` 和 `rest()` 方法:
```java
public class Main {
public static void main(String[] args) {
Guest student = new Student();
student.dine();
student.rest();
Guest teacher = new Teacher();
teacher.dine();
teacher.rest();
Guest parent = new Parent();
parent.dine();
parent.rest();
Guest foreignGuest = new ForeignGuest();
foreignGuest.dine();
foreignGuest.rest();
Guest leader = new Leader();
leader.dine();
leader.rest();
}
}
```
这样,我们就实现了一个简单的学校接待程序,其中不同身份的来访者都使用了面向接口的编程方式。