抽象 class 和模板方法模式和 HttpServlet
abstract class and Template Method pattern and HttpServlet
HttpServlet
中没有任何抽象方法,它被声明为抽象 class,关键字为 abstract。 doGet
等都不是抽象方法。那么为什么 HttpServlet
被声明为抽象 class 而没有任何抽象 class?
HttpServlet
是模板方法模式的例子吗?
什么是模板模式和模板方法模式。有什么区别?
HttpServlet
被声明为抽象的,因为你打算对它进行子class。它本身不会提供太多有用的行为,因此您应该扩展 class 并为一个或多个方法定义您自己的行为(最常见的是 doGet
或 doPost
) .
是的,HttpServlet
是模板方法模式的一个例子。 HttpServlet
中的 doXXX
方法是从 service
方法中调用的。换句话说,我们有一个模板方法 (service
) 将其某些处理推迟到 subclasses 中定义的各个方法。这些方法是在编译时选择的,所以这是模板方法模式的一个例子。
另请参阅:
- Abstract Methods and Classes
- Where should we use Template Method - pattern?
- Why should I declare a class as an abstract class?
HttpServlet
中没有任何抽象方法,它被声明为抽象 class,关键字为 abstract。 doGet
等都不是抽象方法。那么为什么 HttpServlet
被声明为抽象 class 而没有任何抽象 class?
HttpServlet
是模板方法模式的例子吗?
什么是模板模式和模板方法模式。有什么区别?
HttpServlet
被声明为抽象的,因为你打算对它进行子class。它本身不会提供太多有用的行为,因此您应该扩展 class 并为一个或多个方法定义您自己的行为(最常见的是 doGet
或 doPost
) .
是的,HttpServlet
是模板方法模式的一个例子。 HttpServlet
中的 doXXX
方法是从 service
方法中调用的。换句话说,我们有一个模板方法 (service
) 将其某些处理推迟到 subclasses 中定义的各个方法。这些方法是在编译时选择的,所以这是模板方法模式的一个例子。
另请参阅:
- Abstract Methods and Classes
- Where should we use Template Method - pattern?
- Why should I declare a class as an abstract class?