Publicado el Dejar un comentario

OCAJP 7. Java Básico. Definir el alcance de las variables.

Definir el alcance de las variables.

Los parámetros de un método en una clase son conocidos como variables temporales. El valor y el nombre de estas variables expiran cuando el método llamado regresa el control al código que lo invocó. Cualquier variable definida en la lista de parámetros del método o dentro del cuerpo del método permanecen en memoria sólo lo que dura  en ejecutarse el método llamado.

En java existen cuatro tipos de variables:

  • Variables de Instancia (Campos No-Estáticos). Los objetos almacenan su estado individual en campos no-estáticos. Son declarados sin la palabra clave static. Sus valores son únicos para cada instancia u objeto.
  • Variables de Clase (Campos Estáticos). Son campos declarados con el modificador static. Hay sólo una copia de esta variable para todas la instancias de la clase.
  • Variables Locales. Es en donde los métodos de los objetos almacenan su estado temporal. Se declaran parecido a los campos. No existe una palabra clave para especificar que una variable es local sino que depende donde la variable es declarada: dentro de los corchetes que definen un método. Son accesibles sólo dentro del método que las declaró y no son accesibles del resto de la clase.
  • Parámetros. Son las variables que conforman la firma de un método. Son siempre clasificados como variables y no como campos. También se encuentran en otras construcciones que aceptan parámetros como los son los constructores y manipuladores de excepciones.

Llamaremos campos a  las variables de instancia y de clase. Llamaremos variables a las anteriores más las locales y parámetros. Un campo o field está disponible en memoria el tiempo que el objeto que la contiene permanezca en memoria. En java una variable local debe de ser declarada antes de ser  usada.

El scope  ó alcance de las variable se refiere en que lugar del programa una variable específica puede ser usada o referenciada. Por lo general las variables pueden ser usada dentro del bloque de instrucciones al que pertenecen y no fuera de estos. Un bloque  se crea cada vez que tú abres y cierras corchetes ya sea para definir una clase, método o cualquier otra construcción que se verán más adelante. Más específicamente, el scope o alcance de una variable local abarca desde donde se declaró, hasta el corchete de cierre del bloque al que pertenecen El tiempo de vida de las variables depende del scope o alcance donde fueron declaradas. Sólo se puede declarar una vez una variable dentro de un bloque.

El alcance de los parámetros en un método, es todo el método completo. Las variables declaradas en la parte inicial de un ciclo for es el ciclo entero. Se puede declarar varias veces una variable local con el mismo nombre dentro de bloques no anidados dentro de un mismo método, pero es inválido declarar la variable local en bloques anidados.

Scope de Variables
Scope de variables

 

Publicado el Dejar un comentario

Kettle, una herramienta gratuita para extraer, transformar y cargar datos.

Todo trabajador en informática nos hemos topado con la necesidad de pasar datos de una base de datos a otra o de cargar datos a una base de datos desde archivos de texto , hojas de cálculo o archivos dbf, etc.

Y en ocasiones hay que subirlos o pasarlos en un formato diferente al del origen o tener que hacer correcciones u operaciones con los datos antes de que lleguen a su destino. El hacer los programas para llevar a cabo esas tareas llevaba tiempo, dinero y esfuerzo.

Afortunadamente ya existen herramientas tanto comerciales como gratuitas para llevar a cabo estas operaciones de forma casi automática y de forma gráfica. Una de esas herramientas que he utilizado mucho es Kettle de Pantaho. Una excelente herramienta ETL (extracción, transformación y carga) y además gratuita.

Esta desarrollada en java y permite hacer trabajos y transformaciones en forma gráfica. Para operaciones más complicadas de transformación de datos, permite crear tus propios scripts en javascript o java. Permite además guardar todos tus trabajos y transformaciones en un repositorio en una base de datos para poder ser compartidas y ejecutadas por otros miembros de la organización u equipo.

Puedes emplear las librerías java en las que se basa este software para integrar kettle en una aplicación java, ya sea desktop o web, y desde ahí ejecutar los trabajos y transformaciones.

Posiblemente de lo que adolece algo esta aplicación es de que no tiene una buena documentación, pero junto con la aplicación se descargan unos trabajos y transformaciones de ejemplos. Además existen unos unos libros que hablan de esta herramienta.

Se las recomiendo ampliamente. Pueden descargar la última versión desde el sitio de Kettle en Sourceforge, selecciones la versión que dice estable y la más reciente. Para ejecutar la aplicación necesitan tener instalado en su máquina Java 6 o mayor.

Les dejo una pantalla de este excelente software.. ¡saludos!

Kettle en acción
Kettle de Pentaho