Template Method 模板模式

模板方法模式(Template Method Pattern)是一种行为设计模式,它在一个方法中定义了一个操作中的算法的骨架,而将一些步骤延迟到子类中。

这样可以在不改变算法结构的情况下重新定义算法的某些特定步骤。

// 抽象类,定义在线学习的模板方法和算法的骨架
abstract class OnlineCourse {
    // 模板方法,定义学习课程的步骤
    final void learnCourse() {
        register();
        study();
        submitHomework();
        completeCourse();
    }

    // 具体方法
    void register() {
        System.out.println("学生注册课程");
    }

    // 抽象方法,由子类具体实现
    abstract void study();

    // 抽象方法,由子类具体实现
    abstract void submitHomework();

    // 具体方法
    void completeCourse() {
        System.out.println("完成课程,颁发证书");
    }
}

// 具体类:Python课程
class PythonCourse extends OnlineCourse {
    @Override
    void study() {
        System.out.println("学习Python编程基础");
    }

    @Override
    void submitHomework() {
        System.out.println("提交Python项目作业");
    }
}

// 具体类:Java课程
class JavaCourse extends OnlineCourse {
    @Override
    void study() {
        System.out.println("学习Java核心技术");
    }

    @Override
    void submitHomework() {
        System.out.println("提交Java项目作业");
    }
}

// 客户端代码
public class EducationPlatform {
    public static void main(String[] args) {
        OnlineCourse pythonCourse = new PythonCourse();
        pythonCourse.learnCourse();  // 使用模板方法

        OnlineCourse javaCourse = new JavaCourse();
        javaCourse.learnCourse();  // 使用模板方法
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值