编写文件通常需要经过3个步骤:选择一个编辑器、输入内容和保存文件。使用模板方法模式将编写文件的3个步骤封装在抽象模板中,具体要求如下。 (1)抽象模板(Abstract Template):EditFile类中包含3个表示编写文件3个步骤的抽象方法:choiceEditTool()、inputContent()和saveFile()。EditFile类还包含editStep() 方法,该方法顺序地调用choiceEditTool()、inputContent()和saveFile()方法。 (2)具体模板:JavaFile类在重写choiceEditTool(O)、inputContent()和saveFile ()时分别给出了所选用的编辑器、文件的内容和所保存的文件名字。 (3)具体模板;WordFile类在重写choiceEditTool()、inputContent ()和saveFile ()时分别给出了所选用的编辑器、文件的内容和所保存的文件名字。
时间: 2023-12-03 16:42:19 浏览: 119
以下是使用模板方法模式实现编写文件的示例代码:
```java
// 抽象模板类
public abstract class EditFile {
// 选择编辑器
protected abstract void choiceEditTool();
// 输入文件内容
protected abstract void inputContent();
// 保存文件
protected abstract void saveFile();
// 编写文件的步骤
public final void editStep() {
choiceEditTool();
inputContent();
saveFile();
}
}
// 具体模板类:Java文件
public class JavaFile extends EditFile {
@Override
protected void choiceEditTool() {
System.out.println("选择使用 Eclipse 编辑器");
}
@Override
protected void inputContent() {
System.out.println("输入 Java 文件内容");
}
@Override
protected void saveFile() {
System.out.println("保存 Java 文件到指定路径");
}
}
// 具体模板类:Word文件
public class WordFile extends EditFile {
@Override
protected void choiceEditTool() {
System.out.println("选择使用 Microsoft Word 编辑器");
}
@Override
protected void inputContent() {
System.out.println("输入 Word 文件内容");
}
@Override
protected void saveFile() {
System.out.println("保存 Word 文件到指定路径");
}
}
```
使用示例:
```java
public class Client {
public static void main(String[] args) {
// 编写 Java 文件
EditFile javaFile = new JavaFile();
javaFile.editStep();
// 编写 Word 文件
EditFile wordFile = new WordFile();
wordFile.editStep();
}
}
```
输出结果:
```
选择使用 Eclipse 编辑器
输入 Java 文件内容
保存 Java 文件到指定路径
选择使用 Microsoft Word 编辑器
输入 Word 文件内容
保存 Word 文件到指定路径
```
阅读全文