File tree Expand file tree Collapse file tree 4 files changed +41
-0
lines changed
src/com/anxpp/designpattern/templatemethod Expand file tree Collapse file tree 4 files changed +41
-0
lines changed Original file line number Diff line number Diff line change 1+ package com .anxpp .designpattern .templatemethod ;
2+ //抽象模板
3+ public abstract class AbstractTemplate {
4+ Object data ;
5+ //这个就是模板方法
6+ void dealData (){
7+ getData ();
8+ calcData ();
9+ printData ();
10+ }
11+ //下面是普通方法,可能已经实现,也可能需要子类实现
12+ abstract void getData ();
13+ abstract void calcData ();
14+ void printData (){
15+ System .out .println (data );
16+ }
17+ }
Original file line number Diff line number Diff line change 1+ package com .anxpp .designpattern .templatemethod ;
2+ //具体模板
3+ public class Template extends AbstractTemplate {
4+ @ Override
5+ void getData () {
6+ data = "data" ;
7+ }
8+ @ Override
9+ void calcData () {
10+ data = (String )data +data ;
11+ }
12+ }
Original file line number Diff line number Diff line change 1+ package com .anxpp .designpattern .templatemethod ;
2+ public class TestUse {
3+ public static void main (String args []){
4+ Template template = new Template ();
5+ template .dealData ();
6+ }
7+ }
Original file line number Diff line number Diff line change 1+ /**
2+ * @author Administrator
3+ * 模板方法模式
4+ */
5+ package com .anxpp .designpattern .templatemethod ;
You can’t perform that action at this time.
0 commit comments