博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于java的模板方法设计模式
阅读量:2204 次
发布时间:2019-05-03

本文共 1047 字,大约阅读时间需要 3 分钟。

一般来说,定义一个操作中算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变算法的结构即可重定义该算法的某些特定步骤。

 通俗点的理解就是 :完成一件事情,有固定的数个步骤,但是每个步骤根据对象的不同,而实现细节不同;就可以在父类中定义一个完成该事情的总方法,按照完成事件需要的步骤去调用其每个步骤的实现方法。每个步骤的具体实现,由子类完成。

 

直接上代码吧,一看就很清晰。

 

模板方法的父类

package com.caojiulu;import java.util.Date;/** * @author caojiulu *模板方法的父类 */public abstract class SendCustom {		public abstract void to();	public abstract void from();	public abstract void content();	public void date() {		System.out.println(new Date());	}	public abstract void send();		//框架方法-模板方法	public void sendMessage() {		to();		from();		content();		date();		send();	}}

模板方法的实现类

package com.caojiulu;/** * @author caojiulu *模板方法的派生类 */public class SendSms extends SendCustom {	@Override	public void to() {		System.out.println("caojiulu");	}	@Override	public void from() {		System.out.println("sss");	}	@Override	public void content() {		System.out.println("Hello world");	}	@Override	public void send() {		System.out.println("Send sms");	}		public static void main(String[] args) {		SendCustom sendC = new SendSms();		sendC.sendMessage();	}}

 

转载地址:http://zayyb.baihongyu.com/

你可能感兴趣的文章
TensorFlow-7-TensorBoard Embedding可视化
查看>>
轻松看懂机器学习十大常用算法
查看>>
一个框架解决几乎所有机器学习问题
查看>>
特征工程怎么做
查看>>
机器学习算法应用中常用技巧-1
查看>>
机器学习算法应用中常用技巧-2
查看>>
通过一个kaggle实例学习解决机器学习问题
查看>>
决策树的python实现
查看>>
Sklearn 快速入门
查看>>
了解 Sklearn 的数据集
查看>>
用ARIMA模型做需求预测
查看>>
推荐系统
查看>>
TensorFlow-11-策略网络
查看>>
浅谈 GBDT
查看>>
如何选择优化器 optimizer
查看>>
一文了解强化学习
查看>>
CART 分类与回归树
查看>>
seq2seq 的 keras 实现
查看>>
seq2seq 入门
查看>>
什么是 Dropout
查看>>