Está en la página 1de 5

PRÁCTICO FORMACIÓN

P R O G R A M AC I Ó N E N

J AVA ( I ) IGNACIO CÉSPEDES ORDUÑA icespedes@pcw.idg.es

BAJO
¿CONOCE EL LENGUAJE DE PROGRAMACIÓN JAVA?
NIVEL DE DIFICULTAD:
OBJETIVO DEL ARTÍCULO: SI TIENE INQUIETUDES SOBRE EL TEMA NO DEJE DE
Iniciarse en la programación con JAVA.
HERRAMIENTAS NECESARIAS: SEGUIR NUESTRO CURSO DE INICIACIÓN. HOY ES UN
Entorno de desarrollo JAVA.
BUEN MOMENTO PARA EMPEZAR.
F O R M AC I Ó N

Si ha pensado en alguna ocasión en aprender un len- Con él podremos hacer aplicaciones de propósi-
guaje de programación ¡enhorabuena! Va a tener la to general, pequeñas aplicaciones móviles para Web
oportunidad de iniciarse en uno de los lenguajes más (más conocidas como applets), desarrollar compo-
completos que existen hasta el momento. Java le va nentes para procesar en un servidor (los denomina-
a permitir desarrollar aplicaciones de muy distinta ín- dos servlets), construir páginas dinámicas basadas
dole, brindándole la oportunidad de ejecutarlas en la en plantillas JSP, e incluso desarrollar aplicaciones
mayoría de las plataformas existentes. para dispositivos tales como teléfonos móviles y
Hemos de destacar la evolución que ha experimen- PDA. Esta diversidad de aplicaciones hace conve -
tado Java desde sus inicios. Nació como lenguaje para niente la creación de una jerarquía de clases que
programar pequeñas aplicaciones en electrodomés- van de lo más genérico y abierto a lo más especí -
ticos de uso cotidiano y ha terminado siendo uno de fi co y concreto. Así, por ejemplo, tendremos J2SE
los lenguajes más populares y versátiles que existen (Standard Edition), J2EE (Enterprise Edition) o J2ME
en la actualidad. (Micro Edition).

216 W W W. P C W O R L D . E S SEPTIEMBRE 2004

216-FORMACION.indd 216 20/7/04, 09:34


FORMACIÓN PRÁCTICO

Pero sin duda la característica fundamental de Java,


y quizás la más importante, no es otra que su capaci-
dad de ejecución en las distintas plataformas del mer-
cado, como Solaris, Linux, Windows 98, NT, 2000,
XP, etc. Esta capacidad de ejecución en distintas pla-
taformas se consigue gracias a la Máquina Virtual Java
(JVM), específica en cada plataforma, que permite
interpretar el lenguaje ByteCode generado por el
compilador y, por consiguiente, ejecutar sin proble-
mas la aplicación en cuestión.

ELIJA EL ENTORNO DE DE SARROLLO

En la actualidad existe gran variedad de entornos de


desarrollo a través de los cuales puede trabajar. A con-
tinuación haremos una breve descripción de los más
populares para que tenga una visión general de ellos y
pueda elegir aquel que crea más conveniente o consi-
dere que es más fácil de manejar. Hemos de puntuali- Visión general del entorno integrado de trabajo.
zar que no pondremos versión, ya que de algunos de
ellos existen varias en el mercado y no es imprescindi- tan con las ventajas de un entorno de programación
ble que disponga de la última (ver Tabla A). como JBuilder 6.0 en cuanto a facilidad de uso, ayuda
Para el desarrollo del curso que iniciamos este mes y vistosidad, son igualmente válidos para dar los pri-
utilizaremos JBuilder 6.0. Como podrá comprobar, este meros pasos en la programación.
entorno de desarrollo es similar en aspecto y funciona-
lidades a la mayoría de los entornos de programación – CAR AC TERÍS TICA S GENER ALE S
ver Figura 1-. Sin embargo, tiene la peculiaridad de que DEL LENGUA JE
dispone de una opción de bienvenida que nos permite
recorrer brevemente la mayoría de las funcionalidades Se trata de un lenguaje orientado a objetos, por lo que
del propio entorno, y de esta forma familiarizarnos con nuevamente nos adentramos en tecnologías de POO.
él –ver Figura2-. Estamos seguros de que le ayudará a la Si no está aún familiarizado con este tipo de progra-
hora de comenzar a trabajar con el entorno. mación le adelantamos que deberá tener bien claros,
En esta opción de recorrido sobre el programa se al menos para empezar, los conceptos siguientes:
muestran opciones generales sobre el entorno, como -El elemento clave en la programación orientada a
la barra de herramientas del proyecto, las pestañas objetos es la clase, que cuenta con una serie de méto-
por cada fichero que esté abierto, la ventana de erro- dos y propiedades que en realidad son los que definen F O R M AC I Ó N
res previos a la compilación y, por último, el panel el comportamiento y la forma de un objeto.
de contenido. En este último podemos encontrar la -En cuanto a las clases, existen varios tipos depen-
estructura del programa con sus constructores. diendo del modificador que utilicemos en cada caso. En
Como la mayoría de entornos de programación, primer lugar están las públicas (public), que pueden ser
cuenta con una opción de ayuda online que le permi- accesibles desde otras clases, bien directamente o por
tirá resolver cualquier tipo de duda a medida que vaya herencia (definimos la herencia más adelante) desde
programando. Sin duda es de gran utilidad, ya que en otras clases fuera del paquete donde fueron declaradas.
este tipo de ayudas se suele aprender bastante más -En segundo lugar nos encontramos con las clases abs-
que en los libros convencionales –ver Figura2-. tractas (abstract), que se caracterizan por tener al menos
En cualquier caso, si no le es posible hacerse con un método abstracto. Este tipo de clases no se instancia,
una versión de JBuilder 6.0, puede acudir a la página más bien se utiliza como clase base para la herencia.
de Sun y bajarse alguno de los programas gratuitos -En tercer lugar encontramos el modificador de cla-
que en ella se ofrecen. Si bien es cierto que no cuen- se final, que tiene el efecto contrario a abstract, ya que

SEPTIEMBRE 2004 W W W. P C W O R L D . E S 217

216-FORMACION.indd 217 20/7/04, 09:34


PRÁCTICO FORMACIÓN

no permite a nadie heredar de este tipo de clase.


Es cierto que existen algunos modificadores más,
pero en principio para no confundir al lector más pro-
fano en la materia nos quedaremos con estos, que son
suficientes para empezar.
Una vez visto lo que es una clase, explicaremos el
objeto, que no es otra cosa que una instancia de una
clase. Por lo general, para crear un objeto tanto en
Java como en lenguajes similares tendremos que seguir
estos pasos: en primer lugar proporcionaremos un
nombre al objeto (declaración), después le asignare-
mos memoria (instanciación) y por último podremos
inicializarlo y de esta forma proporcionaremos valores
iniciales a las variables de instancia del objeto.
En este punto, al tratarse de POO no podemos olvidar
dos características fundamentales: se trata de la herencia
y el polimorfismo. Definiremos la primera de ellas como
la posibilidad que brinda la POO de permitir que clases
hijas tengan métodos o funciones que realmente perte-
necen a una clase padre. Para los profanos en la mate-
ria pondremos un ejemplo de la vida real: supongamos
que tomamos como clase padre la clase aves ; perfecta-
mente podríamos decir que la clase pato hereda todas
las propiedades y funcionalidades de su clase padre aves.
En cuanto al polimorfismo, lo podríamos definir como la
capacidad de definir un método de una clase con el mis-
Breve paseo descriptivo del nuevo entorno de desarrollo. mo nombre pero con parámetros distintos.

LA CARACTERÍSTICA FUNDAMENTAL DE JAVA,

Y QUIZÁS LA MÁS IMPORTANTE, NO ES OTRA QUE SU


CAPACIDAD DE EJECUCIÓN EN LAS DISTINTAS PLATAFORMAS

DEL MERCADO, COMO SOLARIS, LINUX, WINDOWS 98,

NT, 2000, XP, ETC.


F O R M AC I Ó N

NOMBRE DE LA APLICACIÓN BREVE DESCRIPCIÓN


JBuilder Standard Entorno de desarrollo de Borland ideal para el desarrollo rápido de aplicaciones.
Está considerado como uno de los mejores entornos de desarrollo, es de IBM y se lo puede bajar
VisualAge for Java
gratuitamente de su página web. Tan sólo tiene que registrarse como usuario.
En él encontramos todos los elementos necesarios para el desarrollo de programas Java, dispo-
CodeWarrior Lite
ne de editor, visor de clases, compilador, depurador, etc.
Free Builder Contiene un editor sensible al lenguaje Java, un depurador y un analizador de clases.
Poderoso entorno de desarrollo para sacar todo el partido a la tecnología Java, fácil y sencillo de
Java Workshop Community Edition
manejar.
JDesigner Pro Incluye gestor de plantillas, gestor de proyectos, motor de base de datos, etc.
FreeJava Es un sistema visual integrado, para construir aplicaciones Java. Es sencillo pero eficaz.

Tabla A. Algunos de los entornos de desarrollo existentes en la actualidad.

218 W W W. P C W O R L D . E S SEPTIEMBRE 2004

216-FORMACION.indd 218 20/7/04, 09:34


PRÁCTICO FORMACIÓN

Una vez descrita la esencia fundamental de la POO


hemos de destacar en detrimento de otros lenguajes
de similares características una serie de ventajas que
nos proporciona Java a la hora de ponernos a desa-
rrollar aplicaciones. Nos encontramos con un lengua-
je de gran potencia, pero con una mayor simplicidad
a la hora de programar. Se eliminan aquellas carac-
terísticas que a lo largo del tiempo resultaron más
complicadas en lenguajes como C y C++. Entre las
características eliminadas destacan la eliminación de la
aritmética de punteros, no existen referencias, regis-
tros (struct), definición de tipos (typedef ), macros
(#define) y, por último, la necesidad de liberar memo-
ria. Respecto a esta última característica debemos
hablar de un elemento nuevo: Garbage Collector, o
lo que es lo mismo, reciclador de memoria dinámica.
A través de este elemento nuevo se liberan automá-
ticamente grandes bloques de memoria, limitando así
Ayuda online a la hora de programar. en gran medida la fragmentación de la misma. A su
vez ofrece una mejor identificación de errores, ya que
tanto en tiempo de compilación como de ejecución

NOMBRE DESCRIPCIÓN
Java Enterprise JDBC API Le permitirá acceder a bases de datos vía SQL.
Java RMI Invocación remota de métodos.
Java IDL Hace compatible el modelo de objetos CORBA.
JNDI Proporciona servicios de directorio y de localización de recursos en un entorno corporativo.
JavaBeans JAF Entorno para determinar el tipo de datos, encapsular el acceso a ellos y determinar las acciones que se pueden
aplicar.
Java Security API Se utiliza para componentes que necesitan encriptación, certificación, firmas digitales y autenticación.
JFC Jerarquía de clases para el desarrollo de aplicaciones gráficas e interfaces de usuario.
Swing Set Componentes gráficos para aplicaciones: botones, pestañas.
Java 2D Tratamiento de información gráfica bidimensional.
Java Servlet API Especificación para crear applets que se ejecutan en el servidor.
Java Server API Se utiliza para el intercambio de información entre un servidor web y aquellas aplicaciones que se ejecutan en
el entorno.
Java Comerse API Especificaciones para transacciones comerciales en Internet.
Java Media API Especificaciones para el acceso y utilización de información interactiva.
F O R M AC I Ó N

JMF Especificaciones para la arquitectura, protocolo e interfaces de programación para reproductores multimedia,
captura y videoconferencia.
Java Collaboration Especificaciones para la comunicación interactiva bidireccional.
Java Telephony Especificaciones para aplicaciones de telefonía.
Java Speech Especificaciones para el reconocimiento y síntesis de voz.
Java Animation Especificación para manipulación y movimiento de objetos bidimensionales.
Java 3D Especificaciones para la manipulación de objetos tridimensionales.
Personal Java Especificaciones para aparatos electrónicos.
Java Smart Card Especificaciones para tarjetas inteligentes, tipo tarjeta de crédito.
Embedded Java Especificaciones para aparatos electrónicos industriales.

Tabla B. Principales API de JAVA.

220 W W W. P C W O R L D . E S SEPTIEMBRE 2004

216-FORMACION.indd 220 20/7/04, 09:34


FORMACIÓN PRÁCTICO

NOS ENCONTRAMOS CON UN LENGUAJE DE GRAN

POTENCIA, PERO CON UNA MAYOR SIMPLICIDAD A LA HORA

DE PROGRAMAR. SE ELIMINAN AQUELLAS CARACTERÍSTICAS

QUE A LO LARGO DEL TIEMPO RESULTARON MÁS

COMPLICADAS EN LENGUAJES COMO C Y C++

se agudiza su detección, facilitando en gran medida el ractuar en conjunto den como resultado una solu-
desarrollo de soluciones. ción global.
Nos proporciona también la capacidad de desa-
rrollar aplicaciones que puedan correr en varias PRINCIPALES API DE LA PLATAFORMA JAVA
máquinas interactuando entre sí. Esta característica
viene dada por una serie de librerías y herramientas Para ayudar al lector a hacerse una idea de cuáles son
con las que podemos contar para hacer aplicaciones las API (interfaces de programación de aplicaciones) que
distribuidas. forman la plataforma Java, presentamos una pequeña ta-
Por último, para terminar con este breve resu - bla (Tabla B) con una descripción breve. En realidad en
men de las principales características del lenguaje este curso de iniciación no veremos gran parte de ellas,
Java, destacaremos que es un lenguaje multitarea, pero al menos si decide seguir formándose sabrá de su
es decir, tiene la capacidad de realizar varias tareas existencia y podrá continuar investigando. PCW
simultáneamente en una misma aplicación. Dichas Ignacio Céspedes Orduña es técnico desarrollador
tareas pueden ser pequeños procesos que al inte- de aplicaciones y nuevas tecnologías.

F O R M AC I Ó N

SEPTIEMBRE 2004 W W W. P C W O R L D . E S 221

216-FORMACION.indd 221 20/7/04, 09:34

También podría gustarte