viernes, 1 de mayo de 2020

Polimorfismo

Dentro de las características del paradigma de la programación orientada a objetos una de ellas es el polimorfismo.

Dentro de JAVA esta característica permite que un objeto interactúe de forma diferente en relación de los parámetros con los que un método es invocado o mediante especialización de un método que es heredado, de ahí la estrecha relación entre el polimorfismo y la herencia.


Polimorfismo por parámetros

Se produce cuando existen funciones con el mismo identificador en una misma clase donde se diferencian por la cantidad y/o nombre de parámetros

package entidades;

public class Calculadora{
 
 public Calculadora(){
  //Constructor
 }
 
 public Double procesar(Double a){
  return a*2;
 }
 
 public Double procesar(Double a, Double b){
  return a*b;
 }
 
 public Double procesar(Double a, Double b, Double c){
  return a+b+c;
 } 
}


Polimorfismo por inclusión

Se produce mediante el uso de interfaces, de forma que las clases especializadas desconocen la implementación de las funciones entre ellas.

package entidades;

public abstract class AbstractCalculadora{ 
 public Double procesar(); 
}


package entidades;

public class Calculadora extends AbstractCalculadora{ 
 private Double a;
 private Double b;
 private Double c;
 
 public Calculadora(Double a, Double b, Double c){
  this.a=a;
  this.b=b;
  this.c=c;  
 }
 
 @Override
 public Double procesar(){
  return a+b+c;
 }
}


Fuentes:

  • Flanagan, D. (2002). JAVA IN A NUTSHELL Desktop Quick Reference (4a ed.). England: Pearson Education.


No hay comentarios:

Publicar un comentario