模板模式有父类和子类构成;父类是抽象类,构建了一个模板规定了完成某件事的流程;子类继承父类并实现具体的每个流程操作;
以下是junit3中父类规定了执行测试时候先后要执行的3个方法的顺序,方法内容提供给子类去多态
public abstract class TestCase extends Assert implements Test {
public void runBare() throws Throwable {
setUp();
try {
runTest();
}
finally {
tearDown();
}
}
protected void runTest() throws Throwable {
assertNotNull(fName);
Method runMethod= null;
try {
runMethod= getClass().getMethod(fName, null);
} catch (NoSuchMethodException e) {
fail("Method \""+fName+"\" not found");
}
if (!Modifier.isPublic(runMethod.getModifiers())) {
fail("Method \""+fName+"\" should be public");
}
try {
runMethod.invoke(this, new Class[0]);
}
catch (InvocationTargetException e) {
e.fillInStackTrace();
throw e.getTargetException();
}
catch (IllegalAccessException e) {
e.fillInStackTrace();
throw e;
}
}
protected void setUp() throws Exception {
}
protected void tearDown() throws Exception {
}
}
下面是子类继续父类,用多态来具体实现父类定义的方法
public class CalculatorTest extends TestCase
{
@Override
public void setUp() throws Exception
{
System.out.println(++count);
cal = new Calculator();
}
@Override
public void tearDown() throws Exception
{
}
public void testAdd()
{
int result = cal.add(1, 2);
Assert.assertEquals(3, result);
}
public void testSubtract()
{
int result = cal.subtract(1, 2);
Assert.assertEquals(-1, result);
}
public void testMultiply()
{
int result = cal.multiply(2, 3);
Assert.assertEquals(6, result);
}
}
public static void main(String[] args)
{
junit.swingui.TestRunner.run(CalculatorTest.class);
}
}
分享到:
相关推荐
### 模板模式 (Template Pattern) #### 一、概述 模板模式是一种常用的行为设计模式,其核心在于定义了一个算法的框架,并允许子类提供具体的实现细节。通过这种方式,子类可以继承并重写某些方法,但整个算法的...
模板方法模式(Template Pattern)是设计模式中行为型模式的一种,它定义了操作中的算法骨架,而将一些步骤延迟到子类中。这种模式允许子类重新定义或改变某些基本操作,但整体结构和顺序保持不变。在Java编程中,...
模板方法模式是设计模式中的一种行为模式,它在软件工程中扮演着重要的角色,尤其是在C++这样的面向对象编程语言中。这种模式定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的...
《模式识别信函》(Pattern Recognition Letters) 是一本在计算机科学和信息技术领域内享有盛誉的期刊,专注于模式识别和机器学习的研究成果。这个压缩包提供了该期刊的论文提交模板,方便作者按照统一的格式规范撰写...
《Elsevier - 模式识别信函》(Pattern Recognition Letters) 是一本国际知名的学术期刊,专注于模式识别和机器学习领域的研究。此模板是为在该期刊发表论文的作者准备的,旨在提供一个标准的格式,确保文章符合...
9、模板方法模式TEMPLATE METHOD PATTERN 10、建造者模式BUILDER PATTERN 11、桥梁模式BRIDGE PATTERN 12、命令模式COMMAND PATTERN 13、装饰模式DECORATOR PATTERN 14、迭代器模式ITERATOR PATTERN 15、组合...
《Elsevier模式识别信函(Pattern Recognition Letters)2020版论文模板解析与使用指南》 在学术界,撰写高质量的研究论文是每个科研人员必须掌握的技能之一。选择一个合适的论文模板能大大提高论文编写的效率和...
模板模式 模板模式示例 在模板模式中,抽象类公开定义的方式/模板来执行其方法。 它的子类可以根据需要重写方法的实现,但是调用的方式应与抽象类所定义的方式相同。 此模式属于行为模式类别。 执行 我们将创建一个...
**模板模式(Template Pattern)**是一种行为设计模式,它使你能在抽象类中定义操作算法的框架,而将一些步骤延迟到子类中。这样,子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 在Java、C#等面向...
**模板模式(Template Pattern)**是一种行为设计模式,它在面向对象编程中扮演着重要的角色,尤其是在代码复用和保持代码结构一致性方面。该模式定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。这使得子类...
模板模式(Template Pattern) 访问者模式(Visitor Pattern) 4. J2EE 模式 MVC 模式(MVC Pattern) 业务代表模式(Business Delegate Pattern) 数据访问对象模式(Dao Pattern) 前端控制器模式(Front ...
工厂方法模式(Factory Method Pattern) 观察者模式(Observer Pattern) 建造者模式(Builder Pattern) 解释器模式(Interpreter Pattern) 命令模式(Command Pattern) 模板方法模式(Template Method Pattern) 桥接模式...
23种设计模式(Design Pattern)的C++实现范例,包括下面列出的各种模式,代码包含较详细注释。另外附上“设计模式迷你手册.chm”供参考。 注:项目在 VS2008 下...模板方法模式(Template Method) 访问者模式(Visitor)
模板模式(Template Pattern)是行为设计模式的一种,属于GOF(Gang of Four)设计模式中的结构型模式。这种模式主要用于定义算法的骨架,它将一些步骤的实现延迟到子类中。模板方法使得子类可以在不改变算法结构的...
模板方法模式(Template Method Pattern)是一种行为设计模式,它允许在定义算法的框架时,将具体步骤延迟到子类中。这种模式的核心在于抽象类,它定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。子类可以...
模板模式(Template Pattern) 访问者模式(Visitor Pattern) 4 J2EE 模式 这些设计模式特别关注表示层。这些模式是由 Sun Java Center 鉴定的。 MVC 模式(MVC Pattern) 业务代表模式(Business Delegate ...
模板模式(Template Pattern)是设计模式中的一种行为模式,它提供了一种代码复用的方式,通过定义一个操作的框架,将具体的实现细节留给子类来完成。这种模式使得程序的结构更加清晰,同时也增强了代码的可扩展性。...
模板方法(Template Method) 14. 命令模式(Command Pattern) 15. 迭代器模式(Iterator Pattern) 16. 观察者模式(Observer Pattern) 17. 解释器模式(Interpreter Pattern) 18. 中介者模式(Mediator Pattern) 19. ...
在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 模板方法模式 java ...