以Servlet来解释 抽象实现类

在 Java Servlet API 中:

  • Servlet 接口定义了一个 Servlet 的基本行为。这个接口是抽象的,因为它包含抽象方法,比如 service(), init(), 和 destroy()
  • GenericServlet 类实现了 Servlet 接口。它是一个抽象类,因为它包含了一些 Servlet 接口的抽象方法的默认实现(具体实现),并且它自己还定义了一些抽象方法。GenericServlet 的目的是为 Servlet 接口提供一个通用的、可重用的实现,以减少实现该接口所需的工作量。
  • HttpServlet 类继承自 GenericServlet。它提供了 doGet(), doPost(), 等方法的默认实现,这些方法对应于 HTTP 请求的不同类型。因此,HttpServlet 是一个具体的类,它可以直接被用作 Servlet,或者可以被进一步继承以提供自定义的行为。

在这个例子中,GenericServlet 可以被认为是一个抽象实现类。它实现了 Servlet 接口(提供了具体实现),同时它还包含了一些抽象方法,这些抽象方法需要由子类来提供实现。

抽象实现类确实实现了接口,并且通常包含了一些具体实现,同时也可能包含一些抽象方法,这些抽象方法需要由子类来提供实现。

这样的设计模式允许开发者在保持灵活性的同时,减少重复代码。子类可以重用抽象实现类中的具体实现,同时也可以通过提供自定义的实现来覆盖这些具体实现。

posted @ 2024-02-23 21:32  piqigoo  阅读(15)  评论(0编辑  收藏  举报