Você está na página 1de 5

Instituto Universitario de Tecnologa Jos Antonio Anzotegui

Pgina 1 de 4

Programacin orientada a objetos (JAVA)


David Bastardo
davidrbp@hotmail.com

Yorbelys Gonzlez
Yorbe_16@hotmail.com

Jos Martinez
joseruben-martinez@hotmail.com

Nstor Rodrguez
Nestor_rodriguez@hotmail.com

Georfrank Ruiz
Georfrank55@gmail.com
RESUMEN: el estudiar un lenguaje orientado a
objetos va ms alla que aprender otro lenguaje ms.
En realidad, el cambio es mas profundo y se trata del
estudio de un nuevo paradigma, Por tanto, el objetivo
se debera ver desde la perspectiva de este cambio
de paradigma y el uso del lenguaje de programacin
Java considerarlo como un medio, mas que como un
fin..
PALABRAS

CLAVE:

Anlisis,

Diseo,

Orientacin, POO

1 INTRODUCCIN
Cuando se decide iniciar un desarrollo, lo primero
que se debe decidir es el paradigma de trabajo. La
eleccin del paradigma marca significativamente la
forma de anlisis y diseo de la solucin del
problema. As un mismo problema se podra abordar
usando un paradigma procedural clsico (es el que se
ha usado en cursos anteriores de programacin,
cuando se ha programado en Pascal o C, por
ejemplo) o bien un paradigma orientado a objetos (el
que usaremos en este curso). Por ejemplo, el diseo
de un software que implementara el juego del ajedrez
en un paradigma procedural y en un paradigma
orientado a objeto tendran poco que ver. Pero el
objetivo de este tema es introducir conceptos para
que de manera intuitiva se vaya comprendiendo que
significa cambiar de paradigma; y concretamente usar
el paradigma orientado a objetos.

2 LA ORIENTACION A OBJETOS
La orientacin a objetos promete mejoras de
amplio alcance en la forma de diseo, desarrollo y
mantenimiento del software ofreciendo una solucin a
largo plazo a los problemas y preocupaciones que
han existido desde el comienzo en el desarrollo de
software:
La falta de portabilidad del cdigo y su escasa
reusabilidad.
Cdigo que es difcil de modificar.
Ciclos de desarrollo largos.
Tcnicas de codificacin no intuitivas
El concepto de programacin orientada a

objetos (POO) no es nuevo, lenguajes clsicos como


SmallTalk se basan en ella. Dado que la POO se
basa en la idea natural de la existencia de un mundo
lleno de objetos y que la resolucin del problema se
realiza en trminos de objetos, un lenguaje se dice
que esta basado en objetos si soporta objetos como
una caracterstica fundamental del mismo. No
debemos confundir que este basado en objetos con
que sea orientado a objetos: para que sea orientado
a objetos al margen que este basado en objetos,
necesita tener clases y relaciones de herencia entre
ellas.
Hemos utilizado con mucha frecuencia la palabra
paradigma, que convendra formalizar de alguna
forma: Se entiende paradigma como un conjunto de
teoras, estndares y mtodos que juntos representan
una forma de organizar el conocimiento, esto es, una
forma de ver el mundo. La visin OO nos obliga a
reconsiderar nuestras ideas a cerca de la
computacin, de lo que significa ponerla en practica y
de como debera estructurarse la informacin en los
sistemas de informacin.

2.1 EVOLUCION HISTORICA


Desde un punto de vista histrico, la idea de la
POO aparece por primera vez en SmallTalk (a
principios de los 70), pero conceptos similares a los
que se usan en la POO ya aparecan en Simula
(1967). De cualquier forma se considera que
Smalltalk fue el primer lenguaje orientado a objetos:
Es uno de los lenguajes orientados a objetos ms
consistentes: todos sus tipos de datos son clases y
todas sus operaciones son mensajes.
No es adecuado para aplicaciones de gran
envergadura: es ineficiente y no permite
comprobacin de tipos esttica.

A mediados de los 80 aparecen lenguajes


hbridos como son el C++, Objetive-C, ObjectPascal entre otros:
Incluyen tipos de datos convencionales y clases.
Incluyen procedimientos adems de mtodos.
Permiten comprobaciones en tiempo de compilacin
(estticas).
Su eficiencia es equivalente a la de los
convencionales.

Instituto Universitario de Tecnologa Jos Antonio Anzotegui


La transicin de la programacin algortmica clsica
a la POO es ms fcil usando este tipo de
lenguajes.

2.2 DIFERENCIAS ENTRE LA


PROGRAMACION CONVENCIONAL
Y LA POO,
La POO se centra en los datos en lugar de en los
procedimientos.
Programacin mediante extensin. POO significa
normalmente extender software existente.
Especial nfasis en la reutilizacin el objetivo no es
ajustar las clases a los clientes que las vayan a
usar, sino adaptarlas a su contexto y adaptar los
clientes a las clases.
Estado distribuido y responsabilidades distribuidas
cada objeto posee su propio estado y un conjunto
de procedimientos que trabajan sobre dicho estado.

Pgina 2 de 4

que subyace es un problema de mal diseo y


programacin.

2.5 CONCEPTOS FUNDAMENTALES


Clase: definiciones de las propiedades y
comportamiento de un tipo de objeto concreto
Objeto: Instancia de una clase. Entidad provista de
un conjunto de propiedades o atributos (datos)
Mtodo: Algoritmo asociado a un objeto (o a una
clase de objetos), cuya ejecucin se desencadena
tras la recepcin de un "mensaje".
Evento: Es un suceso en el sistema (tal como una
interaccin del usuario con la mquina, o un mensaje
enviado por un objeto).
Atributos: Caractersticas que tiene la clase
Mensaje: Una comunicacin dirigida a un objeto, que
le ordena que ejecute uno de sus mtodos con ciertos
parmetros asociados al evento que lo gener.
Propiedad o atributo: Contenedor de un tipo de
datos asociados a un objeto (o a una clase de
objetos), que hace los datos visibles desde fuera del
objeto.
Estado interno: Es una variable que se declara
privada, que puede ser nicamente accedida y
alterada por un mtodo del objeto.
Identificacin de un objeto: Un objeto se representa
por medio de una tabla o entidad que est compuesta
por sus atributos y funciones correspondientes.

3. JAVA

Fig. 1. Pilares de la programacin orientada a objetos

2.3 BENEFICIOS MS
INTERESANTES DE LA POO
Gestin de la complejidad permiten la construccin
de componentes manejables con interfaces simples
La POO permite construir sistemas extensibles que
trabajen con nuevos componentes sin necesidad de
modificacin.
La POO mejora la reutilizacin al permitir adaptar
componentes a necesidades nueva sin invalidar los
clientes existentes

Se defini buscando su independencia de la


maquina donde se ejecutaran los programas. En la
mayora de los lenguajes, al compilar se genera un
cdigo maquina directamente ejecutable en una
maquina determinada (y de uso limitado a ese tipo de
maquina). En cambio, al compilar en Java, el cdigo
generado es independiente del hardware y no se
puede ejecutar directamente en ninguna maquina,
sino que ha de ser interpretado por una maquina
virtual. Al cdigo generado por el compilador Java se
le llama bytecode. Y la maquina que interpreta el
bytecode, generando el cdigo ejecutable para un
procesador concreto, es la maquina virtual de Java o,
en ingles, JVM (Java Virtual Machine).
Entonces, el bytecode compilado en una maquina
puede ser llevado a otra maquina diferente y
ejecutado sin problemas.

2.4 DEBILIDADES MS
INTERESANTES DE LA POO
la POO no sea efectiva para muchas empresas
Esfuerzo de aprendizaje y la nica manera de hacer
efectivos todos estos conceptos es mediante la
experiencia.
Problemas de comprensin y flexibilidad.
Muchas veces se critica a los lenguajes orientados a
objetos de ser poco eficaces, cuando en realidad lo

Fig. 2. Plataforma Java

Instituto Universitario de Tecnologa Jos Antonio Anzotegui

3.1 HISTORIA
Java se cre como una herramienta de
programacin para ser usada en un proyecto de settop-box en una pequea operacin denominada the
Green Project en Sun Microsystems en el ao 1991.
El equipo (Green Team), compuesto por trece
personas y dirigido por James Gosling, trabaj
durante 18 meses en Sand Hill Road en Menlo Park
en su desarrollo.

Fig. 3. James Gosling,


El lenguaje se denomin inicialmente Oak (por un
roble que haba fuera de la oficina de Gosling), luego
pas a denominarse Green
tras descubrir
que Oak era ya una marca comercial registrada para
adaptadores de tarjetas grficas y finalmente se
renombr a Java. Es frecuentada por algunos de los
miembros del equipo. Pero no est claro si es un
acrnimo o no, aunque algunas fuentes sealan que
podra tratarse de las iniciales de sus
creadores: James Gosling, Arthur Van Hoff, y Andy
Bechtolsheim.
Otros abogan por el siguiente acrnimo, Just
Another Vague Acronym ("slo
otro
acrnimo
ambiguo ms"). La hiptesis que ms fuerza tiene es
la de que Java debe su nombre a un tipo de caf
disponible en la cafetera cercana, de ah que el icono
de java sea una taza de caf caliente.

Fig. 4. Logo taza de caf Java


La promesa inicial de Gosling era Write Once, Run
Anywhere (Escrbelo una vez, ejectalo en cualquier
lugar), proporcionando un lenguaje independiente de
la plataforma y un entorno de ejecucin (la JVM)
ligero y gratuito para las plataformas ms populares
de forma que los binarios (bytecode) de las
aplicaciones Java pudiesen ejecutarse en cualquier
plataforma.

Pgina 3 de 4

3.2 ESTRUCTURA BSICA DE UN


PROGRAMA EN JAVA
En esta seccin se presentan los tres tipos de
programas que se pueden escribir en Java:
programas de consola, programas grficos y applets.
En Java, las aplicaciones graficas, en entorno de
ventanas, pueden ejecutarse como programas
independientes o como applets, programas
integrados en un navegador web. En el ltimo tema
de este texto se trataran los applets en Java.
Programa de consola
Se llama programas de consola a los programas que
funcionan en modo texto, es decir, programas donde
la entrada de datos y la salida de resultados se
realizan mediante sucesivas
lneas de texto.
Programa grafico
tambin conocido como grficos orientados a objetos,
mantiene la imagen como una serie de puntos, lneas,
arcos y otras formas geomtricas. Este mtodo se
utiliza para diseo asistido por computador (CAD) e
ilustraciones tcnicas onde los componentes de un
dibujo deben ser separables e individualmente
ajustables a escala.
Applet
es un caso particular de aplicacin grafica de Java,
pero que se ejecuta integrada en una pagina web (y
es gestionado por el navegador web), en lugar de
ejecutarse como aplicacin independiente.
En Java cualquier programa forma parte de una
clase. Las clases constan de datos (llamados
atributos) que guardan la informacin y de funciones
(llamadas mtodos) que manipulan la informacin.

3.3 LA ORIENTACIN A OBJETOS Y


JAVA
El objetivo es hacer que grandes proyectos sean
fciles de gestionar y manejar, mejorando como
consecuencia su calidad y reduciendo el nmero de
proyectos fallidos. Otra de las grandes promesas de
la programacin orientada a objetos es la creacin de
entidades ms genricas (objetos) que permitan la
reutilizacin del software entre proyectos, una de las
premisas fundamentales de la Ingeniera del
Software.
En este sentido, los objetos podran verse como
piezas reutilizables que pueden emplearse en
mltiples proyectos distintos, posibilitando as a la
industria del software a construir proyectos de
envergadura empleando componentes ya existentes y
de comprobada calidad; conduciendo esto finalmente
a una reduccin drstica del tiempo de desarrollo.
Para ello, se compila el cdigo fuente escrito en
lenguaje Java, para generar un cdigo conocido
como bytecode (especficamente Java bytecode)
instrucciones mquina simplificadas especficas de la
plataforma Java.

3.4 ENTORNOS DE
FUNCIONAMIENTO
El diseo de Java, su robustez, el respaldo de la
industria y su fcil portabilidad han hecho de Java

Instituto Universitario de Tecnologa Jos Antonio Anzotegui

uno de los lenguajes con un mayor crecimiento y


amplitud de uso en distintos mbitos de la industria
de la informtica.
En

dispositivos
empotrados

mviles

sistemas

Es posible encontrar microprocesadores diseados


para ejecutar bytecode Java y software Java para
tarjetas inteligentes (JavaCard), telfonos mviles,
buscapersonas, set-top-boxes, sintonizadores de TV
y otros pequeos electrodomsticos. El modelo de
desarrollo de estas aplicaciones es muy semejante a
las applets de los navegadores
En el navegador web
Desde la primera versin de java existe la
posibilidad de desarrollar pequeas aplicaciones
(Applets) en Java que luego pueden ser incrustadas
en una pgina HTML para que sean descargadas y
ejecutadas por el navegador web
En sistemas de servidor
En la parte del servidor, Java es ms popular
que nunca, desde la aparicin de la especificacin
de Servlets y JSP (Java Server Pages). Hasta
entonces, las aplicaciones web dinmicas de servidor
que existan se basaban fundamentalmente en
componentes CGI y lenguajes interpretados. Ambos
tenan diversos inconvenientes (fundamentalmente
lentitud, elevada carga computacional o de memoria y
propensin a errores por su interpretacin dinmica).
En aplicaciones de escritorio
Hoy en da existen multitud de aplicaciones
grficas de usuario basadas en Java. El entorno de
ejecucin Java (JRE) se ha convertido en un
componente habitual en los PC de usuario de los
sistemas operativos ms usados en el mundo.
Adems, muchas aplicaciones Java lo incluyen dentro
del propio paquete de la aplicacin de modo que se
ejecuten en cualquier PC.
Plataformas soportadas
Una versin del entorno de ejecucin Java JRE (Java
Runtime Environment) est disponible en la mayora
de equipos de escritorio. Sin embargo, Microsoft no lo
ha incluido por defecto en sus sistemas operativos.
En el caso de Apple, ste incluye una versin propia
del JRE en su sistema operativo, el Mac OS. Tambin
es un producto que por defecto aparece en la
mayora de las distribuciones de GNU/Linux

Pgina 4 de 4

4 REFERENCIAS
1 es.wikipedia.org/wiki/lenguaje de programacin
2www.um.es/eubacteria/eubacteria2/softwarefree.pdf
3 www.elblogdelfrasco.blogspot.com

Instituto Universitario de Tecnologa Jos Antonio Anzotegui

Pgina 5 de 4

Você também pode gostar