Redefinición en POO

redefinición

La redefinición es la capacidad de una clase hija (o subclase) para proporcionar una implementación específica de un método que ya está definido en su clase padre (o superclase). Evidentemente, cuando una subclase redefine un método de su superclase, se está creando una implementación alternativa del mismo método, adaptada a las necesidades específicas de la subclase.

A continuación la definición de la clase base

Posteriormente la definición de la subclase Gato que hereda de Animal

Definición de la subclase Perro que hereda de Animal

seguidamente el uso de las clases

La sobrecarga (overloading) y la redefinicion (overriding) son dos conceptos importantes en la programación orientada a objetos que permiten a los programadores crear métodos con el mismo nombre pero con diferentes implementaciones. Además, existe una diferencia importante entre estos dos conceptos:

  1. Sobrecarga (overloading): La sobrecarga se refiere a la capacidad de una clase para tener múltiples métodos con el mismo nombre pero con diferentes listas de argumentos. Es decir, estos métodos pueden tener diferentes tipos de parámetros o un número diferente de parámetros. Lógicamente, la sobrecarga se resuelve en tiempo de compilación en función de la cantidad y el tipo de argumentos proporcionados.
  1. Redefinición (overriding): La redefinición se refiere a la capacidad de una subclase para proporcionar una implementación específica de un método que ya está definido en su clase padre. Como resultado, la subclase reemplaza la implementación del método de la superclase con su propia implementación. La redefinición se utiliza para lograr el polimorfismo y permite que diferentes clases implementen métodos con el mismo nombre pero con comportamientos específicos para cada clase.

Para continuar, un ejemplo de sobrecarga en Java:

A continuación, un ejemplo de redefinición en Java:

Clase Gato sub clase de Animal

Conclusión

En conclusión, la sobrecarga implica tener múltiples métodos con el mismo nombre pero diferentes parámetros, mientras que la redefinición implica proporcionar una implementación específica de un método en una subclase que ya está definido en la superclase.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *