G.Bordel >Docencia >TAP | Técnicas Actuales de Programación | (curso 2010-2011) | |||||||
|
|||||||||
tema_anterior | Tema 2: Uso del entorno de desarrollo | tema_siguiente |
|
2.2- Bibliotecas de clases: su estructura
Siempre que programamos en Java hacemos uso de su biblioteca de clases (ya lo hemos hecho en el primer ejemplo). Al igual que se disponen de bibliotecas de funciones para los lenguajes de programación "clásicos" (no orientados a objeto), en los orientados a objeto disponemos de bibliotecas de clases. Las clases contienen funciones (constructores y métodos) pero en este caso su acceso se realiza a traves de la instanciación de objetos, lo que es un concepto mucho más adecuado en programación de sistemas no triviales.
Las bibliotecas de clases de Java se organizan de un modo muy sencillo: en una estructura de arbol de directorios
se situan las diferentes clases agrupandolas por el criterio que se considere adecuado; la biblioteca se identifica
por el directorio raiz de esta estructura. Por tanto proporcionar al compilador una biblioteca para que sea incluida
en nuestra aplicación consistirá en darle un directorio raiz, y el uso de una clase en uno de nuestros programas pasa
por nombrarla de acuerdo a su posición dentro de dicha estructura (p.ej. una clase denominada "Method"
dentro de la libreria que tiene por directorio raiz el llamado "java"
y que se encuentra en un directrorio
por debajo de este siguiendo el camino "lang/reflect"
se denomina "java.lang.reflect.Method"
En la terminología Java, a cada uno de estos directorios se le denomina "paquete".
Para evitar el manejo de nombres demasiado largos, se dispone de la directiva "import"
que permite indicar al compilador que busque clases dentro de un determinado paquete (se puede usar
simplemente "Method"
si al principio se ha indicado "import java.lang.reflect.Method;"
o
"import java.lang.reflect.*"
, donde "*" indica todas las clases dentro del paquete sin incluir sus
subpaquetes).
Por otro lado, cuando se genera una clase para pertenecer a un determinado paquete, esto debe ser
declarado en el codigo a fin de que el compilador actue en consecuencia. Para ello se utiliza la directiva "package"
|
|
En el ejemplo anterior todos los paquetes pertenecen a una misma libreria denominada "java"
. Esta
es una de las librerias estándar del lenguaje (junto a javax
, y org
actualmente) y por tanto los mecanismos de instalación suelen
establecer lo necesario para funcionar con ella sin necesidad de hacer nada especial. Esto consiste en
incluir una variable "CLASSPATH" en el sistema con el "path" de dicha libreria en el sistema de ficheros.
Para utilizar otras librerias adicionales, podemos incluir sus "path" en la variable CLASSPATH o indicarlo
directamente al compilar y ejecutar la Máquina Virtual con la opción "-classpath"
En todo proyecto software es extremadamente importante la generación de documentación que posibilite el uso de software ya existente. En Java este es un asunto que se abordó con acierto, de modo que se disponen de mecanismos de generación de documentación de las clases que permiten que esta sea consistente y facil de usar (presenta una estructura fija y enlaces de hipertexto). Lo veremos más adelante. Esto se ha aplicado a la biblioteca estándar por lo que disponemos de acceso a la documentación de las clases que incluye (es un buen momento para echar un vistazo).
Siguiente punto: 2.3- Compilación y ejecución
Plataforma de soporte a curso y contenidos (c) German Bordel 2005. |