TemplateMethod模式

灵魂三问?
什么是模板模式?
有什么用?
怎么用?

什么是模板模式?

大家都知道活字印刷,使用字模板可以很快印刷出来好多好多字。用的染料不同呢印出来的字也不同。这里,模板模式就是从这样的生活现象中抽象出来的一种设计模式。

有什么用?

使用模板设计模式,你只需要定义好模板(抽象类),具体实现细节则交给子类去完成就行了。这样可以满足不同子类的不同需求。

怎么用?

1,设计模板

public abstract class abstractDisplay {
	public abstract void open();
	public abstract void close();
	public abstract void print();
	public final void display()
	{
		open();
		for(int i=0;i<5;i++)
		{
			print();
		}
		close();
		
	}
}

2,子类继承,实现模板

public class PrintChar extends abstractDisplay {
	private char ch;
	public PrintChar(char c)
	{
		this.ch=c;
	}
	
	@Override
	public void open() {
		// TODO Auto-generated method stub
		System.out.print("<<");
	}

	@Override
	public void close() {
		// TODO Auto-generated method stub
		System.out.print(">>");
	}

	@Override
	public void print() {
		// TODO Auto-generated method stub
		System.out.print(ch);
	}

}

3,子类调用

public class PrintTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		abstractDisplay a1=new PrintChar('c');
		a1.display();
	}

}

打印结果:
在这里插入图片描述

发布了75 篇原创文章 · 获赞 14 · 访问量 983

猜你喜欢

转载自blog.csdn.net/qq_41148461/article/details/102723902