鞍山做网站团队,购买网站广告位,wordpress页面模版放在那个文件夹,昆明网站推广价格定义#xff1a;定义一个操作中的算法的骨架#xff0c;而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤
例子#xff1a;比较重大的考试往往有A、B两套试卷#xff0c;其中一套出现问题可以立马更换另一套。 定义基…定义定义一个操作中的算法的骨架而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤
例子比较重大的考试往往有A、B两套试卷其中一套出现问题可以立马更换另一套。 定义基类测试试卷
public abstract class TestPaper {public void testA(){System.out.println(测试题A的答案answerA());}public void testB(){System.out.println(测试题B的答案answerB());}/*** 测试A答案* return*/public abstract String answerA();public abstract String answerB();
}派生类A试卷
public class TestPaperA extends TestPaper {Overridepublic String answerA() {return A;}Overridepublic String answerB() {return A;}
}派生类B试卷
public class TestPaperA extends TestPaper {Overridepublic String answerA() {return A;}Overridepublic String answerB() {return A;}
}测试
public class Main {public static void main(String[] args) {System.out.println(A卷答案);TestPaper testPaperA new TestPaperA();testPaperA.testA();testPaperA.testB();System.out.println();System.out.println(B卷答案);TestPaper testPaperB new TestPaperB();testPaperB.testA();testPaperB.testB();}
}总结 优点提供了一个比较好的代码复用平台可以不改变算法的结构去重新定义算法的某些特定步骤 缺点增加了系统的复杂性和抽象性以及理解难度设计模式中的通用缺点