Mostrando las entradas con la etiqueta POLIMORFISMO. Mostrar todas las entradas
Mostrando las entradas con la etiqueta POLIMORFISMO. Mostrar todas las entradas

martes, 27 de octubre de 2015

VARIABLES POLIMORFICAS

VARIABLES POLIMORFICAS

En Java las palabras que contienen objetos son variables polimorficas .En Java, una variable polimórfica es una variable que contiene un objeto y se refiere al hecho de que una misma variable puede contener objetos de diferentes tipos del tipo declarado o de cualquier subtipo del tipo declarado por eso se llama polimórfica que literalmente significa: muchas formas.


  • ArrayList 

Un arrayList declarado así puede contener objetos de cualquier tipo.
De forma general un ArrayList en Java se crea de la siguiente forma:
ArrayList nombreArray = new ArrayList();

Ejemplo:





  • LinkedList
Es una lista enlazada de Recipientes (nodos) donde cada uno contiene elementos (objetos, otras listas, etc) y uno o dos punteros hacia posiciones de memoria que apuntan al anterior o siguiente nodo.
Útil cuando se quiere insertar o eliminar elementos al principio o al final de la lista. A diferencia del ArrayList ,no permite acceder a un elemento en concreto de la lista directamente sin recorrer antes los anteriores.
Ejemplo:

POLIMORFISMO I

POLIMORFISMO

El polimorfismo en una característica y un de los cuatro pilares junto con abstracción,encapsulamiento y herencia de la POO .
Se refiere hacer los mismo pero en distintas clases ,para entender mejor un breve ejemplo.

Ejemplo:

Nos creamos una clase Animal


Luego una clase León que heredara la clase Animal y donde veremos que tiene el mismo método de la clase animal pero en su propia clase


Luego aremos una clase Vaca que heredara Animal y donde veremos que tiene el mismo método de la clase animal pero en su propia clase


Luego nos crearemos nuestra clase Animal_Principal para que nos corra los métodos


martes, 13 de octubre de 2015

Sobreescritura de Metodos

una clase al heredar de una superclase tiene derecho a re-difinir los metodos de la clase padre (es decir si dicho metodo no esta definido como final), osea que puede crear metodos con el mismo nombre de su superclase. Si tengo una clase padre que tiene un metodo Estudiar(), yo puedo crear en la clase hijo un metodo que tambien se llame Estudiar () pero implementandole caracteristicas
especificas para los objetos de la subclase.

veamos un ejemplo:

//la superclase (clase padre)
public class padre {
//metodo estudiar
public String Estudiar ()
{
 return "enfermeria";
}
    
}


//la subclase(clase hijo)
//esta heredando de la clase padre
public class hijo extends padre {
    
   //metodo Estudiar (propio de la clase hijo)
  public String Estudiar ()
  {
    return "sistemas";
  }
  
  public static void main (String [] args)
  {hijo h1=new hijo();
   h1.Estudiar();
   // muestra lo que retorna del metodo Estudiar de la clase hijo ("sistemas")
      System.out.println(h1.Estudiar());
  }
}
En el ejemplo vemos que una subclase puede elegir o no convenientemente usar el metodo de la superclase o si no crear su propio metodo que tenga el mismo nombre pero inplementando caracteristicas propias de la subclase es decir una clase hijo puede crear sus metodos independientemente de la clase padre.

Sobrecarga de Metodos

Los metodos sobrecargados se utilizan para reutilizar el nombre de un metodo pero con diferente argumento, en pocas palabra dentro de una clase se podria crear metodos con el mismo nombre pero con diferente argumentos; las carateristicas que pueden tener un metodo sobrecargado son:
- Los metodos sobrecargados deben ser con diferente argumento.
- Un metodo puede ser sobrecargado en la misma clase o en una subclase.
- Pueden retornar diferentes valores siempre y cuando sea diferente de void.
Veamos un ejemplo claro:hagamos un metodo sobrecargado en la clase Persona.java


//metodo CambiarDatos 
public void CambiarDatos (String n,String p)
{
  nacionalidad= n;
  profesion=p;
}

//sobrecarga metodo CambiarDatos
public void CambiarDatos (String n)
{
  nacionalidad= n;
}