码迷,mamicode.com
首页 > 编程语言 > 详细

java 设计模式之模板方法

时间:2019-01-05 18:16:35      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:pattern   背景   java基础   --   att   技术分享   毕业   static   des   

模板方法的定义

定义了一个算法的骨架,并允许子类为一个或多个步骤提供实现。

模板方法使得子类在不改变算法结构的情况下,重新定义某些算法的步骤。

一次性实现一个算法不变的部分,把可变的行为留给子类实现。

技术分享图片

如果想拿高工资,那么java基础必会,设计模式和算法要精通。JVM是进阶的必选,在加上经验就可以拿到想要的工资。

代码实现如下

public abstract class AHighWage {
    protected final void javaCourse(){
        this.baseJava();
        this.masterDesignPattern();
        this.masterAlgorithm();
        if (needKnowJVM()){
            this.masterJVM();
        }
        this.otherKnow();
    }

    final void baseJava(){
        System.out.println("java基础必备");
    }

    final void masterDesignPattern(){
        System.out.println("精通java设计模式");
    }

    final void masterAlgorithm(){
        System.out.println("精通数据结构和算法");
    }

    //钩子方法
    protected Boolean needKnowJVM(){
        return false;
    }

    final void masterJVM(){
        System.out.println("精通jvm虚拟机");
    }

    abstract void otherKnow();
}

两个子类一个毕业生和一个老司机

public class Graduation extends AHighWage {
    @Override
    void otherKnow() {
        System.out.println("有计算机四级证书");
    }
}
public class OldDriver extends AHighWage {
    private Boolean knowjvm = false;

    public OldDriver(Boolean bl){
        this.knowjvm = bl;
    }
    @Override
    void otherKnow() {
        System.out.println("很多年工作经验");
        System.out.println("拥有行业的业务背景");
    }

    @Override
    protected Boolean needKnowJVM(){
        return this.knowjvm;
    }
}

测试类

public class demo {
    public static void main(String[] args){
        AHighWage graduation = new Graduation();
        graduation.javaCourse();
        System.out.println("----------------------------");
        AHighWage olddriver = new OldDriver(true);
        olddriver.javaCourse();
    }
}

打印如下

java基础必备
精通java设计模式
精通数据结构和算法
有计算机四级证书
----------------------------
java基础必备
精通java设计模式
精通数据结构和算法
精通jvm虚拟机
很多年工作经验
拥有行业的业务背景

 

java 设计模式之模板方法

标签:pattern   背景   java基础   --   att   技术分享   毕业   static   des   

原文地址:https://www.cnblogs.com/mutong1228/p/10225359.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!