El lenguaje de programación Java utiliza clases y objetos para permitir a los programadores trabajar con datos. Al igual que C + + , Java también permite a los usuarios definir clases que se pueden utilizar varios tipos de datos , con el fin de ampliar la flexibilidad y la utilidad de los objetos creados . Al tomar este concepto de uso flexible de tipo de datos , llamado " genéricos ", y la aplicación de un elemento recursivo , los programadores pueden garantizar que los usuarios de los objetos emplean sólo ciertos tipos de datos para que el objeto genérico funciona como está previsto al tiempo que permite a los usuarios ampliar el uso de ese objeto . Clases y tipos
funciones Java predominantemente como un lenguaje de programación orientado a objetos . Esto significa que los programadores usan las "clases" para definir "tipos" de datos específicos . Las clases también utilizan otros tipos de datos en su definición . En el siguiente código, por ejemplo, la clase Box utiliza tres enteros como parte de su definición : para la clase de funcionar para otros programadores , tienen que seguir esta definición mediante el suministro de tres enteros . Así se mantiene la eficacia de clase Box :
clase
recuadro {
int longitud , ancho int , int altura ;
Caja
público ( int l , int w , int h ) {//caja debe usar la longitud integersint = l; int w = ancho , int altura = h ;} } no
tipos genéricos
Algunos programadores , sin embargo , podría como esta restricción. Algunos podrían desarrollar estructuras de datos , por ejemplo, que requieren que el usuario de la estructura de datos se permite el uso de cualquier tipo de datos dentro de la estructura . En este caso , el programador puede crear una clase de "genérico " que tiene un tipo de datos determinado . Así que , como en el siguiente ejemplo de código , Caja clase puede ahora tomar cualquier tipo " T" para representar a sus lados. Esto puede ser muy útil si el usuario que desee utilizar ya sea enteros o decimales para representar partes :
clase Box {
longitud T , ancho T , la altura T;
Caja público
(T l , T w , T h ) {//caja ahora utiliza el tipo de longitud Tint = l; int width = w , int altura = h ;} }
< br > Tipos recursivos genéricos
para complicar tipos genéricos , algunos programadores pueden jugar con las reglas de lo que está permitido como un tipo genérico para una clase. Por ejemplo , en lugar de tener un tipo de datos general de " T", el programador podría crear una clase que lleva el mismo tipo que la clase que sirve como el tipo genérico de . El siguiente ejemplo ilustra esto: En lugar de tipo T, la clase utiliza el tipo genérico T que representa una versión o " hereda " de , clase Box :
clase
Caja > {
Caja longitud ; ancho de la caja , Caja altura ;
caja pública (recuadro l , Caja w , Caja h ) {//caja ahora utiliza el tipo de caja int longitud = l; int width = w , int altura = h ;} }
Utilidad de tipos recursivos
< p> En la práctica , esto parece confuso e ilógico . Pero , en realidad , representa una manera inteligente para el creador de la clase para hacer cumplir determinados usos tipo. En este caso , el usuario de la clase utiliza el tipo de " caja " con el tipo genérico de " T " como un tipo genérico por sí mismo . Esto esencialmente significa que un usuario que crea un objeto del tipo " caja " se ve obligado a utilizar el mismo tipo ( Caja ) como el tipo genérico en lugar de un número entero , decimal , o cualquier otra cosa . Esto permite que el programador para garantizar que determinado comportamiento se produce cuando los usuarios interactúan con las clases que crean.