//抽象類 封裝算法框架
public abstract void AbstractTemplate{
? ?public finial void template{
? ? ? ?first();
? ? ? ?second();
? ? ? ?if(hook()){
? ? ? ? ? ?third();
? ? ? ?}
? ?}
? ?private void first(){
? ?}
? ?protected abstract void second();
? ?protected bool hook(){
? ? ? ?return true;
? ?}
? ?private void third(){
? ?}
}
//具體子類 實現(xiàn)算法框架中的抽象方法姆另、覆蓋鉤子函數(shù)
public class subclass1 extends ? AbstractTemplate{
@Override
? ?protected void second(){
? ?}
@Override
? ?protected bool hook(){
? ?return false;
? ?}
}
//使用
AbstractTemplate sub=new subclass1();
sub.template();