Hola bienvenidos a esta elección.
A continuación vamos a estudiar el tema de generic en IAVA están listos.
Vamos
vamos a a cualquier proyecto que tengamos abierto y derecho clocks damos un enfile vamos a crear un
nuevo proyecto seleccionamos mi proyecto ya la web naive y Java Application el nombre del proyecto se
va a llamar manejo genericos
y lo depositamos en cursos diagonal inversa aullaba el nombre del grupo i10 MX con G.M. de Global mentoring.
La versión 1.0 y dejamos vacío el nombre del paquete y damos sigue en finalizar
bien como siguiente paso vamos a crear una clase que va a ser una clase genérica así que damos clic
derecho sobre esos paquetes Nioh y ya va a clase el nombre de la clase se va a llamar clase generica
y la depositamos en el paquete de genéricos y damos fuguen finalizar quitamos estos comentarios y para
definir una clase genérica vamos a indicar un tipo utilizando Piko parentesis
entre los paréntesis vamos a indicar el tipo se pueden utilizar otras letras pero básicamente la letra
T significa Taipe.
Así que al momento que definamos una instancia de esta clase debemos de indicar el tipo que va a almacenar
esta clase.
Por ello se conoce como clase generica ya que no sabemos el tipo de esta clase hasta el momento en que
creamos un objeto de esta clase.
Posteriormente definimos la variable de tipo genérico
definimos una variable de tipo T que va a ser el objeto que va a almacenar esta clase.
Posteriormente definimos un constructor que va inicializar el tipo a utilizar
así que creamos un constructor de la clase generica y recibimos el tipo que vamos a utilizar en esta
clase y utilizamos este argumento para inicializar nuestra variable de clase
bien y ahora agregamos un método para obtener el tipo de esta clase el método se va a llamar obtener
tipo
y mandamos a imprimir el tipo T es
con nuestra variable objeto solicitamos el tipo de la clase y posteriormente solicitamos el nombre G.T
sin poner en
es todo lo que va a tener esta clase genérica en la definición de la clase especificamos el tipo que
va a recibir.
Posteriormente definimos una variable con el tipo genérico que va a almacenar esta variable el constructor
inicializar es de tipo genérico y finalmente mandamos a imprimir el tipo que almacena esta clase genérica
así que no sabemos de qué tipo va a ser esta clase hasta el momento en que vamos a crear un objeto de
esta clase.
Bien como siguiente paso vamos a crear una prueba sobre estos packages damos fe de derecho.
Ya va Clas creamos la clase manejo genericos test y la depositamos en el paquete de test
quitamos estos comentarios agregamos un método Mayne y creamos una clase de tipo integral
utilizamos nuestra clase genérica pero indicamos que va almacenar un tipo integrar de manera interna
así que creamos un nuevo objeto
ya indicamos del lado izquierdo que vamos a utilizar un tipo integral así que al constructor únicamente
le falta pasarle el tipo que va a almacenar.
En este caso ya sea el valor de tipo integral que realmente es una literal de tipo entero pero recordemos
que se hace una conversión en automático hacia el tipo de la clase integer importamos esta clase y con
esto ya podemos inicializar nuestra clase generica posteriormente utilizando nuestra variable objeto
Hint mandamos a llamar el método obtener tipo para comprobar el tipo que está almacenando esta clase
generica guardamos cambios y ejecutamos
y podemos observar que el tipo T de nuestra clase que hemos instancia es de tipo integral es el tipo
que está almacenando esta clase generica
bien así que con esto ponemos a prueba nuestra clase generica ahora vamos a utilizar otro tipo pero
para utilizar un tipo string así que vamos a utilizar nuestra misma clase generica pero ahora va almacenar
un tipo string
definimos la variable objeto string
y con la misma clase genérica en lugar de pasarle un interior ahora le vamos a pasar una string simplemente
con algún valor.
En este caso el valor de prueba con nuestra variable objeto string mandamos a llamar el método a obtener
tiempo para comprobar el tipo que está almacenado en nuestra clase generica damos clic derecho y ejecutamos
y podemos ver que en ese segundo caso el tipo T de la clase generica es de tipo string sin embargo una
restricción que tienen los tipos genéricos es que no pueden ser aplicados a tipos primitivos.
Por ejemplo si queremos hacer lo siguiente clase genérica y tratamos de aplicarle un tipo primitivo.
Esto no es posible
vamos a completar la sintaxis
y podemos ver que nos marca el error tipo inesperado se requiere una referencia es decir una clase de
tipo O bien y se encontró un tipo primitivo un entero.
Por lo tanto esto no es posible es una de las restricciones que tenemos cuando utilizamos clases genéricas
así que vamos a poner entre comentarios esta sintaxis simplemente para que sepan que no es posible utilizar
tipos primitivos
en clases genéricas por ello fue que en el primer ejemplo utilizamos la clase integral aunque le pasamos
un valor primitivo.
Realmente el valor que se está almacenando es de tipo integral es decir de tipo obvie así que eso es
todo por esta lección de tipos genéricos y en la siguiente elección vamos a ver cómo manejar colecciones
de tipo genéricas y allí vamos a seguir poniendo a prueba el uso de clases genéricas.
Nos vemos en el siguiente vídeo.
Saludos.