Contenido del Curso
Java POO
Java POO
Principios de POO: Polimorfismo
Polimorfismo
El polimorfismo es otro principio de la POO. Ya te has encontrado con el polimorfismo cuando sobrecargaste y sobrescribiste métodos. En general, esta es la esencia del polimorfismo. Pero la definición de polimorfismo puede parecer un poco intimidante:
Pero en realidad, es mucho más sencillo de lo que parece. Polimorfismo, en términos simples, puede dividirse en 2 partes:
Sobrecarga de métodos: lo que aprendiste en este capítulo, pero vamos a repasarlo.
Veamos un ejemplo: necesitamos escribir un método que reciba un parámetro de tipo int
y devuelva un String
, así como un método que haga lo mismo pero con un parámetro de tipo long
. Observa el siguiente fragmento de código:
Main.java
public String doStuff(int parameter) { //... } public String doStuff(long parameter) { //... }
Como puedes ver arriba, hemos creado 2 métodos con el mismo nombre pero que pueden realizar diferentes acciones. Esto es sobrecarga de métodos.
Sobrescritura de métodos: Ya has encontrado este tema antes cuando sobrescribiste el método
toString
en este capítulo. Pero vamos a repasarlo una vez más.
Veamos un fragmento de código que nos mostrará cómo podemos sobrescribir un método. Tenemos una clase llamada Airplane
que hereda de la clase Transport
. Y en la clase Transport
, hay un método llamado move
que retorna "This transport has started moving".
Necesitamos que el avión "start flying" en lugar de "moving". Para lograr esto, sobrescribiremos el método move
en la clase hija:
Transport.java
Airplane.java
public class Transport { // some fields public String move() { return "This transport has started moving"; } }
Como puedes ver, hemos sobrescrito el método de la clase padre en la clase hija según lo requerido.
De esta manera, el polimorfismo complementa muy bien la herencia. A través del polimorfismo, podemos extender nuestro código de manera conveniente y óptima, haciéndolo flexible.
1. ¿Por qué necesitamos polimorfismo en Java?
2. ¿Cómo complementa el polimorfismo a la herencia?
3. ¿Qué palabra clave se utiliza para sobrecargar un método?
¡Gracias por tus comentarios!