Sunteți pe pagina 1din 18

I.

Introduccin a la programacin orientada


a objetos y al lenguaje JAVA

Programacin Orientada a Objetos


La Programacin Orientada a Objetos es un paradigma de programacin diferente a la
Programacin Estructurada o a la misma Programacin Procedural al que la mayora de los
programadores estn acostumbrados a utilizar.
En la Programacin Estructurada y la Programacin Procedural lo mas importante es el
procedimiento que se esta desarrollando a travs de un lenguaje de programacin.
En Programacin Orientada a Objetos, se hace un gran nfasis a los datos, y todo gira
alrededor de ellos.
Cada vez que alguien quiere hacer una aplicacin, debe de pensar en los elementos (datos)
que va a utilizar para programar, y la relacin que existe entre estos datos, en su forma de
interactuar entre si.
Cuando queremos hacer una aplicacin de alumnos que estan inscritos en algunas materias
con ciertos profesores, entonces debemos de pensar en los diferentes datos a manejar:
Alumnos, Materias, Profesores, etc.
Pensar en estos elementos y pensar en todo lo que esta alrededor de ellos para poder
tipificarlos en los elementos que definen la Programacin Orientada a Objetos.
El mundo esta lleno de objetos y estos objetos tienen ciertas caractersticas que los hacen
nicos y esas caractersticas se derivan de atributos que agrupadas representan a una clase
que compone a los objetos definidos.
Java es un lenguaje que nos ayuda a entender mucho mejor el paradigma Orientado a
Objetos de una manera mas sencilla y natural.
Antecedentes del Lenguaje Java
Java se cre como parte de un proyecto de investigacin para el desarrollo de software
avanzado para una amplia variedad de dispositivos de red y sistemas embebidos. La meta
era disear una plataforma operativa sencilla, segura, portable, distribuida y de tiempo real.
Cuando se inici el proyecto, C++ era el lenguaje del momento. Pero a lo largo del tiempo,
las dificultades encontradas con C++ crecieron hasta el punto en que se pens que los
problemas podran resolverse mejor creando una plataforma de lenguaje completamente
nueva.
Se hizo uso de la arquitectura y diseo de una amplia variedad de lenguajes como Eiffel,
SmallTalk, Objetive C y Cedar/Mesa. El resultado es un lenguaje que se ha mostrado ideal
para desarrollar aplicaciones de usuario final seguras, distribuidas y basadas en red en un

amplio rango de entornos desde los dispositivos de red embebidos hasta su uso para
soluciones en Internet.
Caractersticas en el Diseo de Java
- Sencillo, orientado a objetos y familiar: Sencillo, para que no requiera grandes
esfuerzos de entrenamiento para los desarrolladores. Orientado a objetos, porque la
tecnologa de objetos se considera madura y es el enfoque ms adecuado para las
necesidades de los sistemas distribuidos y/o cliente/servidor. Familiar, porque aunque se
rechaz C++, se mantuvo Java lo ms parecido posible a C++, eliminando sus
complejidades
innecesarias,
para
facilitar
la
migracin
al
nuevo
lenguaje.
- Robusto y seguro: Robusto, simplificando la administracin de memoria y eliminando las
complejidades del uso de apuntadores y aritmtica de apuntadores del C. Seguro para que
pueda operar en un entorno de red.
- Independiente de la arquitertura y portable: Java est diseado para soportar
aplicaciones que sern instaladas en un entorno de red heterogneo, con hardware y
sistemas operativos diversos. Para hacer esto posible el compilador Java genera un cdigo
llamado 'bytecodes' o comnmente conocido como cdigo byte, un formato de cdigo
independiente de la plataforma diseado para transportar cdigo eficientemente a travs de
mltiples plataformas de hardware y software. Es adems portable en el sentido de que es
rigurosamente el mismo lenguaje en todas las plataformas. El 'bytecode' es traducido a
cdigo mquina y ejecutado por la Java Virtual Machine, que es la implementacin Java para
cada
plataforma
hardware-software
concreta.
- Alto rendimiento: A pesar de ser interpretado, Java tiene en cuenta el rendimiento, y
particularmente en las ltimas versiones dispone de diversas herramientas para su
optimizacin. Cuando se necesitan capacidades de proceso intensivas, pueden usarse
llamadas
a
cdigo
nativo.
- Interpretado, multi-hilo y dinmico: El intrprete Java puede ejecutar codigo byte en
cualquier mquina que disponga de una Mquina Virtual Java (JVM). Adems Java incorpora
capacidades avanzadas de ejecucin multi-hilo (ejecucin simultnea de ms de un flujo de
programa) y proporciona mecanismos de carga dinmica de clases en tiempo de ejecucin.
Caractersticas del Lenguaje






Lenguaje de propsito general.


Lenguaje Orientado a Objetos.
Sintaxis inspirada en la de C/C++.
Lenguaje multiplataforma: Los programas Java se ejecutan sin variacin (sin
recompilar) en cualquier plataforma soportada (Windows, UNIX, Mac, etc.)
Lenguaje interpretado: El intrprete a cdigo mquina (dependiente de la
plataforma) se llama Java Virtual Machine (JVM). El compilador produce un cdigo
intermedio independiente del sistema denominado bytecode cdigo byte.
Lenguaje gratuito: Creado por SUN Microsystems, que distribuye gratuitamente el
producto base, denominado JDK (Java Development Toolkit) o actualmente J2SE
(Java 2 Standard Edition).
API distribuida con el J2SE muy amplia. Cdigo fuente de la API disponible.

Facilidades del J2SE (Java 2 Estndar Edition)








Herramientas para generar programas Java. Compilador, depurador, herramienta


para documentacin, etc.
La JVM, necesaria para ejecutar programas Java.
La API de Java (jerarqua de clases).
Cdigo fuente de la API (Opcional).
Documentacin.

Java Runtime Environment (JRE)


JRE es el entorno mnimo para ejecutar programas Java 2. Incluye la JVM y la API. Est
incluida en el J2SE aunque puede descargarse e instalarse separadamente. En aquellos
sistemas donde se vayan a ejecutar programas Java, pero no compilarlos, el JRE es
suficiente.
El JRE incluye el Java Plug-in, que es el 'aadido' que necesitan lo navegadores (Explorer o
Netscape) para poder ejecutar programas Java 2. Es decir que instalando el JRE se tiene
soporte completo Java 2, tanto para aplicaciones normales (denominadas 'standalone') como
para Applets (programas Java que se ejecutan en una pgina Web, cuando esta es accedida
desde un navegador).

I. Introduccin a la programacin orientada


a objetos y al lenguaje JAVA

Bajando el Software
Utiliza la pgina http://java.sun.com/j2se para bajar el software, te aparecer una pantalla
como la siguiente:

Posteriormente debes utiliza el link Downloads que aparece en la barra azul, para
posteriormente que aparezca la siguiente pantalla:

Despus de esto oprimimos el link Java Technology Downloads, el cual nos posiciona en los
elemento que se pueden bajar de Java, ah dentro, debemos seleccionar la versin a bajar, la
ms reciente en el momento de escribir este texto es la 1.5 como lo indica la figura:

Finalmente esto es lo que queremos bajar a nuestra computadora:

Que contiene el Java Runtime, el cual nos ayuda a ejecutar cdigo byte con el JVM (Java
Virtual Machine), adems de tener la API que representa todas las clases que pertenecen a
Java y que pueden ser utilizadas por cualquier clase de Java, as como elementos que le
permiten al desarrollador, compilar, visualizar un applet, etc.
Graba el archivo en tu computadora y sigue los pasos para instalar el software.

I. Introduccin a la programacin orientada


a objetos y al lenguaje JAVA

Utilizando Clases Definidas en Java


La manera de utilizar una clase previamente definida en Java es a travs de una Aplicacin
modo texto o Aplicacin modo grfico (clase Frame) o un Applet (clase Applet).
Una aplicacin es una clase de Java que corre como una especfica aplicacin en cualquier
ambiente operativo, puede tener referencias a archivos, interfaz grfica (si se desea), etc.
Un applet es una clase de Java que corre dentro de un navegador y que no puede hacer
referencias a archivos, tambin posee su interfaz grfica.
Una aplicacin debe compilarse con el archivo ejecutable javac que es el que compila dentro
del paquete de java y ejecutarse con el archivo ejecutable java, se genera un archivo de
cdigo byte (extensin .class) que es el que se interpreta por la Java Virtual Machine, que es
la que depende de la mquina que utilices y de esa manera se ejecuta en cualquier
ambiente, como se muestra en la figura:

El comando que aparece despus del prompt > es el que se teclea dentro de una ventana de
comandos del DOS.
Un applet sigue un camino parecido pero para poder visualizarse se requiere que este applet
este inmerso en una pgina de Web, lo cual se puede hacer a travs de algun editor de
pginas Web, insertando un java applet en alguna opcin avanzada o incrustando dentro del
cdigo de HTML las siguientes instrucciones:
<applet width="500" height="700" code="nombreapplet">
</applet>
Donde nombreapplet es el nombre del applet a utilizar, se sugiere que cuando se pruebe un
applet para revisar su operacin, se utilice el visualizador de applets provisto por java, tal
como se muestra la figura:

Esta recomendacin de la prueba de applets obedece a que si se prueba bajo un navegador


de Web, aunque se hagan cambios al applet, el navegador mostrara el codigo cargado en el
momento que se ejecut por primera vez el navegador, por lo cual tendria que abandonarse
la aplicacin del navegador y volver a abrirla para poder ver los cambios en el applet que se
este trabajando.
Aplicacin
La manera de definir una Aplicacin es muy sencilla, es una clase que tiene un mtodo
llamado main, dentro del cual se escriben las instrucciones que se requiere sean ejecutadas
por el tiempo que dure la aplicacin, muy parecido como pasa con el lenguaje de
programacin C++.
A continuacin se muestra una aplicacin muy sencilla:
public class Hola
{
public static void main(String args[])
{
System.out.println("Hola a todos");
}

}
Esta clase es tecleada en un editor de textos, compilada con el comando javac Hola.java
una ventana de comandos del DOS y es ejecutada con el comando java Hola
Un ejemplo de la presentacin de esta clase sera:

en

Esto sera una aplicacin con interfaz modo texto para desplegar un Hola.
Toda aplicacin en Java utiliza clases ya creadas anteriormente, y a travs de definir y crear
objetos de esas clases, es como puede llevar a cabo las funciones necesarias y propias de la
aplicacin. La aplicacin anterior utiliza un mtodo llamado println(), el cual se utiliza para
desplegar algo en la ventana en modo texto, su uso ms sencillo sin tener que crear un
objeto de una clase es a travs de llamarlo mediante la clase System.out. Posteriormente
revisaremos alguna aplicacin donde el mtodo println() es utilizado a travs de un objeto
que maneja el flujo de salida, lo cual sera la manera ms adecuada de hacerlo.
La manera de hacer lo mismo en forma grfica sera que la clase Hola fuera una clase que
herede de la clase Frame, la cual en Java es utilizada para manejar una aplicacin con
Interfaz Grfica.
A continuacin se muestra un ejemplo de esta misma clase de aplicacin con Interfaz
Grfica:
import java.awt.*;
import java.awt.event.*;
public class Holag extends Frame implements WindowListener {
public static void main(String[] args) {
Holag x = new Holag();
x.setSize(400,500);
x.setTitle("Aplicacin Grfica Hola");
x.setVisible(true);
}
public Holag() {
addWindowListener(this);
}
public void paint(Graphics g) {
g.drawString("Hola", 100, 100);
}
public void windowClosing(WindowEvent e) {

System.exit(0);
}
public
public
public
public
public
public

void
void
void
void
void
void

windowOpened(WindowEvent e){}
windowClosed(WindowEvent e){}
windowActivated(WindowEvent e){}
windowDeactivated(WindowEvent e){}
windowIconified(WindowEvent e){}
windowDeiconified(WindowEvent e){}

}
Dicha clase mostrar la siguiente ventana:

Mientras que tambien estar activa (atrs) la ventana de comandos del DOS.
Algunas cosas que puedes entender por ahora es que cuando se trabaja en POO
(Programacin Orientada a Objetos) la mejor manera de hacer esto es a travs de definir y
crear objetos de clases, por lo mismo se esta creando un objeto de la misma aplicacin, lo
cual es muy comn cuando hacemos aplicaciones grficas. Observars varios mtodos que
estn vacios, esto es porque esta clase aplicacin est heredando de una clase llamada
Frame y existe una clausula llamada implements WindowListener, lo cual nos permite
implementar algunos mtodos de otras clases (ya que como mencionamos anteriormente no
hay herencia mltiple), esta es la mejor manera de utilizar los mtodos de otras clases.
Todos los mtodos que se nombran con la palabra window al principio pertenecen a esta
clase y al implementar la clase debemos escribir todos los mtodos de la clase que
implementamos, aunque no tengan instrucciones en el.
Posteriormente se explicarn algunos detalles que ahora no comprenders de la clase
mostrada anteriormente, la idea aqu es que conozcas las dos diferentes maneras de mostrar
una aplicacin: texto y grfica.
Applet
Un applet es una clase que posee interfaz grfica y que est inmerso en un navegador, de
manera que para poderlo utilizar requieres ejecutar el navegador o el visualizador de applets
de Java.
Un applet (que es el que manejaremos ms en este curso) esta compuesto por varios
mtodos que utlizamos de acuerdo a lo que deseamos realizar en nuestra aplicacin en Web.

Como puedes revisar en la clase anterior la Holag, las primeras instrucciones son de import,
estas sirven para poder incluir en nuestra aplicacin de Java, otras clases que han sido
codificadas anteriormente, como lo hace cualquier otro lenguaje, como el include de C++.
En la carpeta de java, existen algunas carpetas que tienen clases que estan separadas por
paquetes, de acuerdo a la funcin de estas clases, todas las clases que tienen que ver con
interfaz grfica estan dentro del paquete awt, es por eso que necesitamos incluir todas las
clases que estan dentro de este paquete, para eso utilizamos la instruccin de java import
java.awt.*; lo cual le dice a Java que si se requiere alguna clase que no se encuentre en el
directorio en el cual esta la clase actual, la busque en el paquete descrito, en este caso
dentro de java, la carpeta awt.
Existe una clase de java muy peculiar llamada Applet, esta clase se encarga de mostrar una
aplicacin en Web, esta clase ya esta previamente definida, y para poder hacer un applet es
necesario que se defina una clase que herede de la clase Applet, de manera que el usuario
solo se encarga de reescribir los mtodos necesarios para definir su nueva aplicacin en Web.
Veamos un ejemplo de un applet sencillo Hola y analicemos este applet (AppletHola.java):
import java.awt.*;
import java.applet.*;
public class AppletHola extends Applet {
public void paint(Graphics g) {
g.drawString("Hola", 100, 100);
}
}
La manera de visualizar este applet es a traves de una pgina de Web, como la siguiente
(AppletHola.html):
<html>
<head>
<title>Applet Hola </title>
</head>
<body>
<applet width="200" height="400" code="AppletHola"></applet>
</body>
</html>
La forma de visualizar este applet es compilando y ejecutando el visualizador de applets de
java, como se muestra a continuacin:

Una muestra del applet en pantalla inmerso en la pagina de Web seria:

A diferencia de una aplicacin, un applet debe heredar


algunos mtodos predefinidos a travs de los cuales
elementos grficos en nuestra ventana, es por esto que
mtodo desplegamos lo que deseamos aparezca en la
objeto de la clase Graphics, entonces ahora entendemos
que podemos dibujar.

de la clase Applet, en ella existen


vamos a dibujar o desplegar los
utilizamos el mtodo paint, en este
pantalla, y eso es a travs de un
que solo a travs de este objeto es

Normalmente se define el objeto de la clase Graphics como g, pero puede ser que tu uses
otro, dentro del mtodo paint, la manera de dibujar es utilizando los mtodos de la clase
Graphics, en este caso para dibujar letras podemos usar el mtodo drawString(), el cual
requiere se le defina un string (cadena de caracteres) y la coordenada en la cual se desea
dibujar, empezando por la coordenada x y siguiendo la coordenada y.
Existen una serie de mtodos posibles a utilizar con el objeto grfico de la clase Graphics,
como por ejemplo el drawLine(), el cual dibuja una lnea, tiene los parmetros coordenadas
iniciales "x" y "y", y coordenadas finales "x" y "y". Una ejemplo pudiera ser
g.drawLine(10,10, 100, 100); el cual dibuja una linea de la coordenada 10, 10 a la
coordenada 100,100. A continuacin utilizaremos un ejemplo de un applet dibujando lneas,
rectngulos y crculos:

Esto se hace a travs de utilizar el mtodo mencionado drawLine() y los mtodos nuevos
drawRect() y drawOval(), como se observa en el cdigo siguiente:
import java.awt.*;
import java.applet.*;
public class AppletDibujos1 extends Applet {
public void paint(Graphics g) {
g.drawString("Hola", 100, 100);
g.drawLine(10,10, 100, 100);
g.drawRect(0, 0, 150, 150);
g.drawOval(100, 100, 100, 100);
}
}
A partir de este momento es importante que aprendas a conocer y utilizar la definicin de las
clases descritas en la API (App) , cada vez que utilices una clase nueva que no conoces es
importante que visites su documentacin en la java API, ya que de esa manera puedes saber
que constructores tienen, que mtodos pueden ser utilizados y cuales son los parmetros a
utilizar en cada uno.
Como ejercicio entra a revisar la clase Graphics y reconoce como estn definidos los

parmetros de los mtodos drawString(), drawLine(), drawRect() y drawOval() utilizados en


el applet anterior.

I. Introduccin a la programacin orientada


a objetos y al lenguaje JAVA

Compilando y Ejecutando
Toma el siguiente cdigo correspondiente a un applet y grbalo en tu computadora como
AppletReloj con la extensin java, es decir AppletReloj.java
import java.applet.Applet;
import java.util.Date;

public class AppletReloj extends Applet implements Runnable {


Date d;
Thread t;
boolean activo;
public void run() {
while ( activo ) {
repaint();
try {
Thread.sleep(1000);
} catch (InterruptedException e) { e.printStackTrace(); }
}
}
public void init() {
t = new Thread(this);
}
public void start() {
activo = true;
t.start();
}
public void stop() {
activo = false;
}
public void paint(java.awt.Graphics g) {
d = new Date();
g.drawString( d.getHours()+":"+ d.getMinutes()+
":"+d.getSeconds(), 10, 10);

}
}
Ahora toma el siguiente cdigo en html y grbalo en tu computadora como Ejemplo.html

<html>
<title>Ejemplo de reloj digital sencillo</title>
<body>
<H1 align="center">Ejemplo de reloj digital sencillo</h1>
<hr>
<br>
<div align="center">
<applet code="AppletReloj.class" width=100 height=50>
</applet>
</div>
</body>
</html>

Para compilar el applet en tu computadora y generar el cdigo byte, puedes utilizar la


ventana de comandos del DOS y usar el comando javac
javac es un archivo ejecutable que al cargar el J2SE lo debio haber bajado a tu computadora,
dicho archivo debe estar dentro de la carpeta /bin dentro de la carpeta de java, cercirate de
tenerlo, antes de utilizar el comando
javac AppletReloj.java
Despus de utilizar dicho comando en la ventana del DOS, como lo muestra la grfica:

El applet ser compilado y nicamente as podrs visualizar la pgina html en el navegador


browser, o con el visualizador de applets que tambin se te debi haber instalado con el
J2SE, dicho visualizador lo puedes utilizar con el comando
Appletviewer Ejemplo.html
Como se muestra en la figura anexa:

O puedes dar un doble clic en el documento Ejemplo.html y el navegador que tengas definido
en tu computadora lo abrir.
Asegrate que ambos archivos
carpeta.

1) Ejemplo.hmtl y 2) AppletReloj.class estn en la misma

Si al compilar o al tratar de visualizar un applet te marca que no reconoce el comando debes


asegurarte de dos cosas:
1. Que si hayas instalado el java con todas sus carpetas incluyendo la /bin
2. Que tengas en el path y classpath (variables del sistema operativo) definido el path
donde se encuentra el java, para que el sistema reconozca donde esta el archivo que
ests tratando de ejecutar (javac, appletviewer, etc.). S no esta configurado el path
siga los siguientes pasos:
a. Inicialice el cuadro de dialogo de Propiedades del sistema (tecla Windows
pausa o mipc propiedades)
b. Seleccione la pestaa de opciones avanzadas
c. Seleccione la opcin de variables de entorno
d. Ubique la variable path en la sesin variable del sistema
e. Seleccione la opcin modificar
f. Agregue al final de la variable la ruta en donde se encuentra instalado java
ej: c:\java\bin
g. Inicie una consola de dos y verifique que el path ha sido agregado ej: c:\javac
Para ejecutar una aplicacin en Java, podemos usar el siguiente ejemplo sencillo:
Toma la siguiente clase y grbala como Hola.java

Public class Hola {


public static void main(String[] args) {
System.out.println(" Hola ");
}
}
Despus de esto complala utilizando el comando javac como lo vimos anteriormente:

Para ejecutarla debers utilizar el comanda java Hola, es decir el comando java ejecuta el
cdigo byte generado al compilar el archivo Hola.java (es decir el archivo Hola.class). La
aplicacin se ejecuta entonces de la siguiente manera:

S-ar putea să vă placă și