0
点赞
收藏
分享

微信扫一扫

ChatGPT 会被 OpenAI 的版权诉讼摧毁吗?|TodayAI

在Java中,模板方法模式是一种行为设计模式,它定义了一个算法的骨架,并允许子类为一个或多个步骤提供实现。以下是一个简单的示例:

// 抽象类定义了模板方法和一些基本的方法,子类可以根据需要实现这些方法
abstract class AbstractClass {

    // 模板方法定义了算法的骨架
    public final void templateMethod() {
        operation1(); // 调用基本方法1
        operation2(); // 调用基本方法2
        operation3(); // 调用基本方法3
    }

    // 基本方法1,由子类实现
    abstract void operation1();

    // 基本方法2,由子类实现
    abstract void operation2();

    // 基本方法3,子类可以选择性地覆盖
    void operation3() {
        System.out.println("Default implementation of operation3");
    }
}

// 具体子类实现基本方法
class ConcreteClass extends AbstractClass {

    // 实现基本方法1
    void operation1() {
        System.out.println("ConcreteClass: Performing operation1");
    }

    // 实现基本方法2
    void operation2() {
        System.out.println("ConcreteClass: Performing operation2");
    }

    // 子类可以选择性地覆盖基本方法3
    void operation3() {
        System.out.println("ConcreteClass: Performing custom operation3");
    }
}

public class Main {
    public static void main(String[] args) {
        AbstractClass abstractClass = new ConcreteClass();
        abstractClass.templateMethod(); // 调用模板方法
    }
}

在这个例子中,AbstractClass 是抽象类,定义了模板方法 templateMethod() 和一些基本方法,其中 operation1() 和 operation2() 是抽象方法,需要由具体的子类实现。ConcreteClass 是具体子类,实现了 AbstractClass 中的抽象方法,并可以选择性地覆盖 operation3() 方法。在 Main 类中,我们创建了 ConcreteClass 的实例并调用了模板方法 templateMethod(),它会按照定义的算法骨架执行各个基本方法。

举报

相关推荐

0 条评论