17.13. Clases y objetos: anulación de método
La programación orientada a objetos es un paradigma de programación que utiliza la abstracción para crear modelos basados en el mundo real. Utiliza varias técnicas de programación previas, incluida la herencia, el polimorfismo y la encapsulación. En este capítulo, nos centraremos en un concepto importante en la programación orientada a objetos: anulación de métodos.
¿Qué es la anulación de métodos?
La anulación de métodos es una característica que permite a una subclase proporcionar una implementación específica de un método que ya proporciona una de sus superclases. Cuando un método de una subclase tiene el mismo nombre, los mismos parámetros o firma y el mismo tipo de retorno que un método de su superclase, se dice que el método de la subclase es una anulación del método de la superclase. p>
Se utiliza para lograr polimorfismo en programación orientada a objetos. Anular métodos permite que una clase heredera cambie el comportamiento de los métodos heredados de la clase principal. Esto se hace para implementar un comportamiento específico de la clase secundaria.
¿Cómo funciona la anulación de método?
Cuando se invoca un método, la máquina virtual Java (JVM) decide qué versión del método ejecutar en función del tipo de objeto al que se hace referencia, no del tipo de referencia. Esto significa que si una superclase contiene un método que ya ha sido anulado por la subclase, cuando se llame al método, se ejecutará la versión del método en la subclase.
Ejemplo de anulación de método
Considere un ejemplo donde tenemos una superclase llamada Animal y una subclase llamada Perro. La clase Animal tiene un método llamado sonido(), que es anulado por la clase Perro.
clase Animal { sonido vacío() { System.out.println("El animal emite un sonido"); } } clase Perro extiende Animal { sonido vacío() { System.out.println("El perro ladra"); } }
En el ejemplo anterior, la clase Perro anula el método sound() de la clase Animal. Entonces, si creamos un objeto de la clase Dog y llamamos al método sound(), se ejecutará la versión del método en la clase Dog en lugar de la versión en la clase Animal.
Reglas para anular métodos
Hay algunas reglas que debemos seguir al anular métodos:
- El método de la subclase debe tener el mismo nombre, los mismos parámetros y el mismo tipo de retorno que el método de la superclase.
- El método de la subclase debe ser al menos tan accesible como el método de la superclase.
- El método de la subclase no puede generar más excepciones comprobadas que el método de la superclase.
- Si el método en la superclase está marcado como final, entonces no se puede anular.
Comprender la anulación de métodos es fundamental para comprender cómo funciona la programación orientada a objetos y es un concepto que se utiliza con frecuencia en la práctica. Permite que las subclases se comporten de manera diferente a sus superclases, lo que puede resultar muy útil en muchas situaciones.
La anulación de métodos es una de las muchas técnicas que hacen de la programación orientada a objetos una herramienta poderosa y flexible. Comprender este concepto es un paso importante para convertirse en un programador Java eficaz.