使用java实现在班级中上课时,老师在讲课,和同学们偶有互动,但是老师的互动内容不同(例如:语文老师要求全班同学默写,数学老师点名同学上黑板做题,英语老师按学号顺序点名同学朗读课文)。本案例要求使用抽象类的知识编写一个程序实现老师上课的情景。
时间: 2024-02-20 22:02:35 浏览: 283
好的,我来为你解答这个问题。
首先,我们可以定义一个抽象类`Teacher`,其中包含一个抽象方法`interact()`,表示老师与同学们的互动行为。具体的互动行为由不同的老师子类实现。同时,`Teacher`类中还可以定义一个`teach()`方法,表示老师讲授课程的行为。
代码如下:
```java
abstract class Teacher {
public abstract void interact();
public void teach() {
System.out.println("老师正在讲课...");
}
}
```
接下来,我们可以定义三个不同的老师子类,分别是`ChineseTeacher`、`MathTeacher`和`EnglishTeacher`,分别实现`interact()`方法。
`ChineseTeacher`类中的`interact()`方法让全班同学默写:
```java
class ChineseTeacher extends Teacher {
public void interact() {
System.out.println("请同学们默写课文。");
}
}
```
`MathTeacher`类中的`interact()`方法点名同学上黑板做题:
```java
class MathTeacher extends Teacher {
public void interact() {
System.out.println("请同学XXX上黑板做题。");
}
}
```
`EnglishTeacher`类中的`interact()`方法按学号顺序点名同学朗读课文:
```java
class EnglishTeacher extends Teacher {
public void interact() {
System.out.println("请同学XXX朗读课文。");
}
}
```
最后,我们可以编写一个`Main`类,模拟老师上课的情景。在`Main`类中,我们可以创建不同的老师对象,依次调用`teach()`和`interact()`方法。
```java
public class Main {
public static void main(String[] args) {
Teacher chineseTeacher = new ChineseTeacher();
chineseTeacher.teach();
chineseTeacher.interact();
Teacher mathTeacher = new MathTeacher();
mathTeacher.teach();
mathTeacher.interact();
Teacher englishTeacher = new EnglishTeacher();
englishTeacher.teach();
englishTeacher.interact();
}
}
```
输出结果如下:
```
老师正在讲课...
请同学们默写课文。
老师正在讲课...
请同学XXX上黑板做题。
老师正在讲课...
请同学XXX朗读课文。
```
这样就完成了使用抽象类的方法模拟老师上课的情景。
阅读全文