模板方法模式 (Template Method Pattern)

定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。

复制代码
public class Main {
    
    public static void main(String[] args) {
        Game game = new Cricket();
        game.play();
        
        System.out.println();
        game = new Football();
        game.play();
    }
}

abstract class Game {
    
    abstract void initialize();
    abstract void startPlay();
    abstract void endPlay();
  
    //模板
    public final void play(){
        initialize();  //初始化游戏
        startPlay();   //开始游戏
        endPlay();     //结束游戏
    }
}

class Cricket extends Game {
    
    @Override
    void endPlay() {
        System.out.println("Cricket Game Finished!");
    }
  
    @Override
    void initialize() {
        System.out.println("Cricket Game Initialized! Start playing.");
    }
  
    @Override
    void startPlay() {
        System.out.println("Cricket Game Started. Enjoy the game!");
    }
}

class Football extends Game {
    
    @Override
    void endPlay() {
        System.out.println("Football Game Finished!");
    }
  
    @Override
    void initialize() {
        System.out.println("Football Game Initialized! Start playing.");
    }
  
    @Override
    void startPlay() {
        System.out.println("Football Game Started. Enjoy the game!");
    }
}
复制代码

 

posted @   HanselHuang  阅读(34)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示