Saltar la navegación

5.- Introspección. Reflexión.

Caso práctico

Ada está muy satisfecha con la conversación.

-Habéis comentado que los controles que insertamos en un formulario son también componentes, y es así porque coinciden todas sus características. ¿No te llama la atención la capacidad que tienen las herramientas que usamos de detectar el nombre y el tipo de las propiedades?

-Es verdad -contesta María-, también, cuando escribo código directamente, las ayudas a la edición te dan pistas acerca de los métodos que puedes usar o qué argumentos debes colocar en una función. ¿Cómo puede la herramienta conocer eso?

Imagen de Ada, la jefa de la empresa BK, donde se desarrollan nuestros casos prácticos.

Un componente, como cualquier otra clase dispone de una interfaz, que es el conjunto de métodos y propiedades accesibles desde el entorno de programación. Normalmente, la interfaz la forman los atributos y métodos públicos.

La introspección es una característica que permite a las herramientas de programación visual arrastrar y soltar un componente en la zona de diseño de una aplicación y determinar dinámicamente qué métodos de interfaz, propiedades y eventos del componente están disponibles.

Esto se puede conseguir de diferentes formas, pero en el nivel más bajo se encuentra una característica denominada reflexión, que busca aquellos métodos definidos como públicos que empiezan por get o set, es decir, se basa en el uso de patrones de diseño, es decir, en establecer reglas en la construcción de la clase de forma que mediante el uso de una nomenclatura específica se permita a la herramienta encontrar la interfaz de un componente.

En JavaBeans la introspección se puede conseguir de varias maneras:

  • Reflexión de bajo nivel, que utiliza patrones de diseño para descubrir las características del componente por medio de las posibilidades de reflexión del paquete java.lang.reflect.
  • Examinando una clase asociada de información del componente (BeanInfo) que describe explícitamente sus características para que puedan ser reconocidas.

Para saber más

En el siguiente enlace podrás acceder a una página web de Introducción a los JavaBeans donde podrás ampliar los conceptos de introspección, persistencia, reflexión, etc. de componentes en Java.

Características de los JavaBeans.

Autoevaluación

Pregunta

La reflexión es una forma de implementar la introspección a bajo nivel, sin depender de la aplicación.

Respuestas

Verdadero.

Falso.

Retroalimentación