Si un método redefine otro método de una super-clase que utiliza throws, el método de la clase
derivada no tiene obligatoriamente que poder lanzar todas las mismas excepciones de la clase base.
Es posible en el método de la subclase lanzar las mismas excepciones o menos, pero no se pueden
lanzar más excepciones. No puede tampoco lanzar nuevas excepciones ni excepciones de una clase
más general.
Se trata de una restricción muy útil ya que como consecuencia de ello el código que funciona
con la clase base podrá trabajar automáticamente con referencias de clases derivadas, incluyendo el
tratamiento de excepciones, concepto fundamental en la Programación Orientada a Objetos
(polimorfismo).
No hay comentarios:
Publicar un comentario