Polimorfismo Java

Hola a todos, hoy os explicare que es y como se utiliza el polimorfismo en Java.

El polimorfismo permite que las clases hijas implementen un método de la clase padre de forma distinta.

Para realizar el polimorfismo, debemos crear un método con el mismo nombre, mismos parámetros y tipo devuelto en la clase hija. Al llamar el método, usando un objeto de la clase hija, este llamara al suyo propio y no al de la clase padre.

Veamos un ejemplo:

–Método de la clase Empleado

/**
	 * Suma un plus al salario del empleado si el empleado tiene mas de 40 años
	 * @param sueldoPlus
	 * @return <ul>
	 * 			<li>true: se suma el plus al sueldo</li>
	 * 			<li>false: no se suma el plus al sueldo</li>
	 * 			</ul>
	 */
	public boolean plus (double sueldoPlus){
		boolean aumento=false;
		if (edad>40 && compruebaNombre()){
			salario+=sueldoPlus;
			aumento=true;
		}
		return aumento;
	}

–Método de la clase Comercial (hija de empleado)

/**
	 * Suma un plus al salario del empleado si el empleado tiene una comision menor que 50
	 * @param sueldoPlus
	 * @return <ul>
	 * 			<li>true: se suma el plus al sueldo</li>
	 * 			<li>false: no se suma el plus al sueldo</li>
	 * 			</ul>
	 */
	public boolean plus (double sueldoPlus){
		boolean aumento=false;
		if (comision<50){
			salario+=sueldoPlus;
			aumento=true;
		}
		return aumento;
	}

Como vemos, la definición de los métodos es igual pero hace cosas distintas.

Recuerda que podemos sobrescribir los métodos como ya vimos en las clases.

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

¿Te ha gustado y quieres apoyarme? ¡Sé mi patrón!
Etiquetas

2 comments

  1. Hola!!!

    En el Ejemplo de Polimorfismo aqui de descrito se sobrescribe el método plus( ) en ambas clases pero como implementar e imprimir para comprobar el Polimorfismo?

  2. Fijate en las condiciones, puedes poner distintas en los atributos de un objeto que crees para comprobar que realiza lo que pide.

Deja un comentario

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