为什么javax.servlet.GenericServlet应该实现javax.servlet.ServletConfig?

时间:2009-12-09 11:00:49

标签: inheritance servlets java-ee

我正在查看servlet-api.jar源代码,并发现(令我极度困惑)javax.servlet.GenericServlet实现了javax.servlet.ServletConfig。

现在,我不夸耀自己是OOP学者,但我确实记得读过虽然OOP提供了继承的概念,但只有当孩子与父母有IS-A关系时才应用继承作为一个特征。

“GenericServlet IS-A ServletConfig”对我来说听起来不对。是否有人知道为什么要做出这样的设计决定? (除了将ServletConfig的方法和属性暴露给GenericServlet)?

2 个答案:

答案 0 :(得分:1)

因为ServletConfig是一个命名不佳的界面。我宁可称之为ConfigServletServletConfigurator

答案 1 :(得分:0)

实现和扩展是不同的。实现意味着GenericServlet必须实现ServletConfig中定义的接口。

即。 GenericServlet将具有ServletConfig接口,因此GenericServlet可由任何使用ServletConfig接口配置Servlet的东西配置。