抽象类和模板方法模式以及HttpServlet



HttpServlet中没有任何抽象方法,它是用关键字abstract声明的抽象类。CCD_ 2等都不是抽象的方法。那么为什么HttpServlet被声明为抽象类而没有任何抽象类呢?

HttpServlet是模板方法模式的一个例子吗?

模板模式和模板方法模式是什么。有什么不同?

HttpServlet被声明为抽象的,因为你要对它进行子类化。就其本身而言,它不会提供太多有用的行为,所以你应该扩展类,并为一个或多个方法(最常见的是doGetdoPost)定义自己的行为。

是的,HttpServlet是模板方法模式的一个示例。HttpServlet中的doXXX方法是从service方法调用的。换句话说,我们有一个模板方法(service),它将一些处理推迟到子类中定义的各个方法。这些方法是在编译时选择的,因此这是模板方法模式的一个示例。

另请参阅:

  • 抽象方法和类
  • 我们应该在哪里使用模板方法模式
  • 为什么要将类声明为抽象类

最新更新