java设计模式行为篇------模板方法

java设计模式行为篇------模板方法

核心思想

定义一个父类的算法框架,将其部分实现步骤延迟到子类中,子类在实现时不用改变相关结构即可实现相关的算法步骤。嗯,说白了就是继承的一种使用。。。。

简单实现

抽象父类

一般要注意那些方法是可以暴露给子类调用的,不需要给子类使用的用protected关键词就好。

public abstract class AbsA {
	protected abstract void deal1();
	
	protected abstract void deal2();

	public void deal(){
		deal1();
		deal2();
	}
}

具体子类

子类只要实现父类中的相关方法就可以了。

public class A extends AbsA {

	protected void deal1() {
		System.out.println("逻辑处理1");
	}
	protected void deal2() {
		System.out.println("逻辑处理2");
	}
}

public class B extends AbsA {

	protected void deal1() {
		System.out.println("逻辑处理3");
	}
	protected void deal2() {
		System.out.println("逻辑处理4");
	}
}

简单调用

public static void main(String[] args) {
	AbsA a= new A();
	AbsA b= new B();
	a.deal();
	b.deal();
}

在抽象的父类中设定了暴露的方法,只需要对其调用就好,不需要关心其内部实现。

小结

模板方法应该算是设计模式中最为简单的一种了,但是其使用是极为广泛的,要注意在抽象类中,并没有抽象到绝对的一般化,而是设置了相关步骤给子类去实现,而子类实现的结果往往影响了父类中相关函数,所以它与一般的对抽象类的使用有很大不同。

猜你喜欢

转载自blog.csdn.net/sinat_36945592/article/details/86705630