martes, 7 de mayo de 2013

Polimorfismo

Doy por comienzo a la primera publicación a todo lo que tiene que ver con temas java. En esta entrada les comentare del polimorfismo en java.

Polimorfismo

Definición: cuando hablamos de polimorfismo es hacer referencia a un método que puede modificar su comportamiento de acuerdo a su necesidad, con el que estamos hablando de la clase "Numero" y su metodo toString. Con esto el método toString de la clase "Numero" puede imprimir los distintos resultados que poseen las clases hijas que son "Suma" y "Resta" que poseen métodos distintos una de la otra.

IDE: NetBeans 7.2.1

1. Creo la clase Numero, le asigno una variable de tipo int y la defino como protected con el nombre de "numero". Luego creo un método toString que nos permitirá retornar el valor por pantalla.
public class Numero { protected int numero; public void siguienteNumero(){ } public String toString(){ return " " + numero; } }


2. Creo una clase llamada "Suma", le creo el constructor sin parámetros pero le sobrescribo la variable "numero" que es de la clase "Numero" que estamos extendiendo con el valor de "2".
Luego creo un método llamado "siguienteSuma" que nos realizara el calculo de la suma entre el numero del constructor y el que yo defino en el método (siguienteSuma), que es "2".
Para que entendamos todos, el método "siguienteSuma" suma 2 + 2. Entre el valor que yo le asigne al constructor y el valor que yo quiero que sume en el método.

public class Suma extends Numero{ public Suma(){ numero = 2; } public void siguienteSuma(){ numero = numero + 2; } }
3. Creamos la clase "Resta" que tiene como definición lo mismo que la clase "Suma".
public class Resta extends Numero{ public Resta(){ numero = 1; } public void siguienteResta(){ numero = numero - 3; } }
4. Ahora creo la clase que ejecutara este ejemplo:
public static void main(String[] args) { //Instancio las clases suma y resta Suma suma = new Suma(); Resta resta = new Resta(); //Imprimo el valor solo del constructor de las clases creadas System.out.println("Suma:" + suma); System.out.println("Resta:" + resta); //Imprimo el valor de los metodos de las clases suma.siguienteSuma(); resta.siguienteResta(); System.out.println("Resultado Suma Siguiente:" + suma); System.out.println("Resultado Resta Siguiente:" + resta); }


5. RESULTADO:
run:
Suma: 2
Resta: 1
Resultado Suma Siguiente: 4
Resultado Resta Siguiente: -2
BUILD SUCCESSFUL (total time: 0 seconds)

Saludos a todos y pronto con mas entradas.

No hay comentarios:

Publicar un comentario