zoukankan      html  css  js  c++  java
  • 模板模式

    /**
     * 模板模式:一个抽象类,提供一个固定的方法,该方法使用final修饰,方法里面的实现调用了其他抽象方法,抽象方法留给子类实现
     * 这样,这个final修饰的方法就是模板方法,它提供了做这个事情的方法步骤,只是具体的步骤根据不同子类的不同实现来决定
     *
     *
     */
    public abstract class Cook {
    
        protected void buyFood(){
            System.out.println("买菜");
        }
    
        protected abstract void cookFood();
    
        public final void makeFood(){
            buyFood();
            cookFood();
            saveFood();
        }
        protected void saveFood(){
            System.out.println("装菜");
        }
    
    }
    public class ChineseCook extends Cook {
        @Override
        public void cookFood() {
            System.out.println("中国菜制作中.............");
        }
    }
    public class EnglishCook extends Cook {
        @Override
        public void cookFood() {
            System.out.println("英国菜制作中..........");
        }
    }
    public class Test {
        public static void main(String[] args) {
            new ChineseCook().makeFood();//制作中国菜
            new EnglishCook().makeFood();//制作英国菜
    
        }
    }
  • 相关阅读:
    Spark Streaming自定义接收器
    between-flink-and-storm-Spark
    Java class loader 类加载器
    Spark 学习文章
    英文读音
    分布式系统论文
    git 常用命令
    CPU Cache
    elasticsearch 索引延迟 一致性问题等
    spark join
  • 原文地址:https://www.cnblogs.com/yangxiaohui227/p/10918274.html
Copyright © 2011-2022 走看看