viernes, 30 de enero de 2015

Clases Genéricas en Java

En la entrada anterior usamos la notación: ArrayList<String>, cómo podemos ver, esta notación utiliza los símbolos de < y > para indicar el tipo de los objetos que tendrá el ArrayList, pues bien, en esta entrada vamos a explicar el por qué de esa notación.

Cómo vimos en la anterior entrada dedicada a usar la clase ArrayList vimos que para utilizarla usábamos la notación ArrayList<String> utilizando los símbolos < y >, pues bien, las clases que requieren este tipo de parámetros entre estos símbolos se denominan clases genéricas.

Estas clases genéricas, al contrario que otras clases en Java que sus objetos son de un tipo único, no definen un tipo único sino que pueden definir muchos tipos, ya que el tipo que definirán será el que se incluya entre los símbolos < >. 

Por ejemplo podemos crear un ArrayList de String llamado nombres:

private ArrayList<String> nombres;

Podemos crear un ArrayList de Vehiculos llamado coches si tenemos la clase Vehiculos en nuestro proyecto:

private ArrayList<Vehiculos> coches;

De esta forma podemos añadir objetos de la clase Vehiculos al ArrayList coches y tener así una colección de objetos de la clase Vehiculos.

Cómo vemos con las clases genéricas además de crear colecciones de objetos de los tipos predefinidos en Java podemos crear colecciones de objetos de las clases que tenemos en nuestro proyecto abriéndonos así un gran abanico de posibilidades en nuestros proyectos.

Pudiera ser que en ocasiones definiéramos varios campos con la misma clase cómo por ejemplo:
private ArrayList<Vehiculos> coches;
private ArrayList<Vehiculos> motos;

En estos casos debemos tener cuidado pues estos campos no pueden ser asignados uno a otro aún cuando sus tipos derivan de la misma clase, pues son tipos diferentes.

No hay comentarios:

Publicar un comentario