Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Introduccin
1
Jorge Luis Ledezma Monsivis Programacin de Aplicaciones UTZAC
INDICE
Contenido
Introduccin ........................................................................................................................................ 1
INDICE.................................................................................................................................................. 2
Lenguajes de Programacin Orientada a Objetos............................................................................... 3
Framework .......................................................................................................................................... 7
Tipos de aplicaciones existentes ......................................................................................................... 8
Paradigma de Programacin Orientada a objetos .............................................................................. 9
Clases................................................................................................................................................. 10
Objetos .............................................................................................................................................. 10
Herencia: ........................................................................................................................................... 11
Asociacin: ........................................................................................................................................ 11
Agregacin......................................................................................................................................... 12
Conceptos Avanzados de la Programacin Orientada a Objetos...................................................... 13
Interfaces: ......................................................................................................................................... 13
Clases Abstractas............................................................................................................................... 14
Conclusiones ..................................................................................................................................... 15
Bibliografa ........................................................................................................................................ 16
2
Jorge Luis Ledezma Monsivis Programacin de Aplicaciones UTZAC
3
Jorge Luis Ledezma Monsivis Programacin de Aplicaciones UTZAC
5
Jorge Luis Ledezma Monsivis Programacin de Aplicaciones UTZAC
6
Jorge Luis Ledezma Monsivis Programacin de Aplicaciones UTZAC
Framework
Es una estructura de soporte definida, en la cual otro proyecto de software puede
ser organizado y desarrollado, es un esquema (un esqueleto, un patrn) para el
desarrollo y/o la implementacin de una aplicacin. S, es una definicin muy
genrica, pero tambin puede serlo un framework: sin ir ms lejos, el paradigma
MVC (Model-View-Controller) dice poco ms que separa en tu aplicacin la
gestin de los datos, las operaciones, y la presentacin.
Qu ventajas tiene utilizar un framework?
Las que se derivan de utilizar un estndar; entre otras:
1. El programador no necesita plantearse una estructura global de la
aplicacin, sino que el framework le proporciona un esqueleto que hay que
rellenar.
2. Facilita la colaboracin. Cualquiera que haya tenido que pelearse con el
cdigo fuente de otro programador (o incluso con el propio, pasado algn
tiempo!) sabr lo difcil que es entenderlo y modificarlo; por tanto, todo lo
que sea definir y estandarizar va a ahorrar tiempo y trabajo a los desarrollos
colaborativos.
3. Es ms fcil encontrar herramientas (utilidades, libreras) adaptadas al
framework concreto para facilitar el desarrollo.
Tipos de framework web
Existen varios tipos de frameworks Web: orientados a la interfaz de usuarios,
como Java Server Faces, orientados a aplicaciones de publicacin de
documentos, como Coocon, orientados a la parte de control de eventos, como
Struts y algunos que incluyen varios elementos como Tapestry.
7
Jorge Luis Ledezma Monsivis Programacin de Aplicaciones UTZAC
Un ejemplo: una aplicacin web que utilice Java como lenguaje de programacin
puede implementarse de multitud de formas, mediante servlets y JSPs. Hay
algunas convenciones que es necesario seguir, como usar un fichero de
configuracin web.xml, pero el programador sigue sin tener un patrn claro a
seguir para la creacin de servlets, clases, JSPs, etc.
En una primera estandarizacin, la utilizacin de una arquitectura MVC aconseja
que separemos la lgica de la aplicacin (en los servlets) de la presentacin
(usando JSPs); en concreto, no sera correcto codificar lgica de aplicacin o
accesos a base de datos dentro de los JSP.
Los applets son pequeas aplicaciones Java que se incluye en pginas Web
(HTML) y que se puede ejecutar en cualquier navegador que disponga de un
intrprete Java sin que para su uso necesite intercambiar Informacin con el
servidor.
Ejemplos
Crazy Pages Este applet te permite escribir texto y lo despliega con letras en
diferentes tamao y colores (Miscrosft word Applets, 2007)
Aplicaciones
Las aplicaciones son programas standalone de propsito general que
normalmente se ejecutan desde la lnea de comandos del sistema operativo. Con
Java se puede realizar cualquier programa que normalmente se creara con algn
otro lenguaje de programacin
Servelts
Los servlets al contrario de los applets son programas que estn pensados para
trabajar en el lado del servidor y desarrollar aplicaciones Web que interacten con
los clientes. Los servlets son una alternativa de la programacin CGI traiciona
8
Jorge Luis Ledezma Monsivis Programacin de Aplicaciones UTZAC
Son pequeos programas escritos en Java que admiten peticiones a travs del
protocolo HTTP. Los servlets reciben peticiones desde un navegador web, las
procesan y devuelven una respuesta al navegador, normalmente en HTML. Para
realizar estas tareas podrn utilizar las clases incluidas en el lenguaje Java. Estos
programas son los intermediarios entre el cliente (casi siempre navegador web) y
los datos (BBDD) (Los Teatinos, s.f.)
Paradigma POO
El paradigma orientado a objetos (OO) define los programas en trminos de
comunidades de objetos. Los objetos con caractersticas comunes se agrupan en
clases (un concepto similar al de tipo abstracto de dato (TAD)). Los objetos son
entidades que combinan un estado (es decir, datos) y un comportamiento (esto es,
procedimientos o mtodos). Estos objetos se comunican entre ellos para realizar
tareas. Es en este modo de ver un programa donde este paradigma difiere del
paradigma imperativo o estructurado, en los que los datos y los mtodos estn
separados y sin relacin. El paradigma OO surge para solventar los problemas
que planteaban otros paradigmas, como el imperativo, con el objeto de elaborar
programas y mdulos ms fciles de escribir, mantener y reutilizar. Entre los
lenguajes que soportan el paradigma OO estn Smalltalk, C++, Delphi (Object
Pascal), Java y C#. (Plataforma educativa, s.f.)
9
Jorge Luis Ledezma Monsivis Programacin de Aplicaciones UTZAC
Clases
Las clases son uno de los principales componentes de un lenguaje de
programacin, pues en ellas ocurren todos los procesos lgicos requeridos para
un sistema, en si podemos definirlas como estructuras que representan objetos del
mundo real, tomando como objetos a personas, lugares o cosas, en general las
clases poseen propiedades, comportamientos y relaciones con otras clases del
sistema.
Una clase se compone por tres partes fundamentales:
Objetos
Los objetos representan una entidad concreta o abstracta del mundo real, en
programacin bsicamente se le conoce como la instancia de una clase en si es lo
que da el sentido a estas.
10
Jorge Luis Ledezma Monsivis Programacin de Aplicaciones UTZAC
Herencia:
La herencia en java representa lo que conocemos de herencia en el mundo real,
bsicamente mediante esta obtenemos las caractersticas o rasgos comunes de
nuestros padres o abuelos, en java es el mismo enfoque permitiendo la creacin
de nuevas clases basadas en clases ya existentes, con las cuales podemos
obtener las caractersticas de las clases padres, heredando campos, atributos,
mtodos o funcionalidades.
En Java solo se puede heredar de una sola clase padre y se representa mediante
la palabra extend. (Conceptos Basicos de progrmacion Orientada a objetos, s.f.)
En la siguiente ilustracin es muestra un ejemplo de herencia
Asociacin:
Es generalmente, una relacin estructural entre clases, es decir, que en el
ejemplo, existe un atributo de la clase medio de transportes, que es del tipo
Conductor. La navegalidad nos muestra donde est ubicado el atributo. Es decir
cul es la clase que tiene contiene el atributo si sta no lo mostrase.
11
Jorge Luis Ledezma Monsivis Programacin de Aplicaciones UTZAC
Agregacin
Es una relacin que se deriv de la asociacin, por ser igualmente estructural, es
decir que contiene un atributo, que en todos los casos, ser una coleccin, es
decir un Array, Vector, Collections, etc., y adems de ello la clase que contiene la
coleccin debe tener un mtodo que agregue los elementos a la coleccin.
Tambin se puede leer como que un medio de transporte tiene varios pasajeros.
Nos est diciendo que los objetos pasajeros forman parte del objeto medio de
transporte. Pero, su ciclo de vida no est atado al del objeto medio de transporte.
Es decir si el Autobs se destruye los pasajeros pueden seguir existiendo
independientemente, (o por lo menos por eso rezaramos) (Pensamientos, 2008)
12
Jorge Luis Ledezma Monsivis Programacin de Aplicaciones UTZAC
Polimorfismo
Este tal vez sea uno de los conceptos de la programacin orientada a objetos ms
usados pero muchas veces sin saber que se aplica ya que el concepto
inicialmente puede ser un poco confuso, bsicamente mediante el polimorfismo
programamos de forma general en lugar de hacerlo de forma especfica, se usa
Interfaces:
Las interfaces son el mecanismo que utiliza Java para simular la herencia mltiple,
como mencionamos en Java solo se puede extender de una sola clase, mediante
el uso de interfaces esto se puede simular ya que el lenguaje permite implementar
el nmero de interfaces que necesitemos, bsicamente son clases completamente
abstractas, es comn relacionarlas con un contrato en el que se define que se
debe hacer, as cada clase concreta que implemente una interfaz est obligada a
implementar todos los mtodos que la compongan.
13
Jorge Luis Ledezma Monsivis Programacin de Aplicaciones UTZAC
Clases Abstractas.
14
Jorge Luis Ledezma Monsivis Programacin de Aplicaciones UTZAC
La Abstraccin en java solo tiene lgica mediante la Herencia, ya que una clase
abstracta posee al menos un mtodo abstracto el cual no tiene implementacin, el
comportamiento de estos mtodos lo definen las clases concretas que lo hereden.
Podemos usarlos cuando existan varias clases con caractersticas o acciones
comunes pero con diferentes comportamientos, mediante el uso de la herencia y
componentes abstractos hacemos ms ptima y organizada nuestra aplicacin.
(Hay que tener en cuenta que a diferencia de las clases concretas, las clases
abstractas no se pueden instanciar).
En la siguiente ilustracin es muestra un ejemplo de clase abstractas
Conclusiones
15
Jorge Luis Ledezma Monsivis Programacin de Aplicaciones UTZAC
Bibliografa
(s.f.). Obtenido de https://es.scribd.com/doc/65833678/Conceptos-Basicos-de-Visual-Basic
16
Jorge Luis Ledezma Monsivis Programacin de Aplicaciones UTZAC
17