Java程序
时间: 2024-02-28 15:55:26 浏览: 28
好的,下面是 Java 程序的实现:
抽象课程类:
```java
public abstract class Course {
public abstract void deliver();
public abstract void ppt();
public abstract void video();
public abstract void uploadHomework();
public abstract void assign();
public void check() {
if (needCheck()) {
System.out.println("开始检查作业");
doCheck();
System.out.println("作业检查完成");
} else {
System.out.println("不需要检查作业");
}
}
protected boolean needCheck() {
return true;
}
protected void doCheck() {
// 默认实现为空
}
}
```
需要检查作业的子类:
```java
public class CourseWithCheck extends Course {
@Override
public void deliver() {
System.out.println("发布资料");
}
@Override
public void ppt() {
System.out.println("制作课件");
}
@Override
public void video() {
System.out.println("在线直播");
}
@Override
public void uploadHomework() {
System.out.println("上传作业");
}
@Override
public void assign() {
System.out.println("布置作业");
}
@Override
public void doCheck() {
System.out.println("检查作业");
}
}
```
不需要检查作业的子类:
```java
public class CourseWithoutCheck extends Course {
@Override
public void deliver() {
System.out.println("发布资料");
}
@Override
public void ppt() {
System.out.println("制作课件");
}
@Override
public void video() {
System.out.println("在线直播");
}
@Override
public void uploadHomework() {
System.out.println("上传作业");
}
@Override
public void assign() {
System.out.println("布置作业");
}
@Override
public boolean needCheck() {
return false;
}
}
```
上面的程序中,抽象课程类 `Course` 定义了一个 `check()` 方法作为钩子方法,子类可以覆盖 `needCheck()` 方法来决定是否需要检查作业,也可以覆盖 `doCheck()` 方法来实现具体的作业检查操作。
具体的子类 `CourseWithCheck` 和 `CourseWithoutCheck` 分别实现了 `Course` 类中的抽象方法,其中 `CourseWithCheck` 子类覆盖了 `doCheck()` 方法来实现作业检查操作,而 `CourseWithoutCheck` 子类覆盖了 `needCheck()` 方法来表示不需要检查作业。
相关推荐
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)