Sei sulla pagina 1di 32

ITSP

APLICACIONES EN JAVA II

Lic. Patricia Hernndez Rodrguez |


Docente

Licenciatura En Informtica

Contenido
TABLA DE IMGENES ................................................................................................................................. 3 OBJETIVO GENERAL DEL CURSO ................................................................................................................ 5 TEMARIO .................................................................................................................................................... 6 CRITERIOS DE EVALUACIN ....................................................................................................................... 7 FECHAS DE EXAMENES............................................................................................................................... 7 UNIDAD I. INTRODUCCIN A LA PROGRAMACIN ORIENTADA A OBJETOS EN JAVA .............................. 8 1.1 Conceptos Generales de la Programacin Orientada a Objetos ..................................................... 8 QU ES LA PROGRAMACIN ORIENTADA A OBJETOS? ................................................................... 8 DATOS SOBRE EL LENGUAJE JAVA. .................................................................................................... 9 1.2 Clases y objetos. .......................................................................................................................... 10 1.3 Abstraccin. ....................................................................................................................................... 16 1.4 Encapsulacin. ................................................................................................................................... 16 1.5 Herencia. ........................................................................................................................................... 17 1.6 Polimorfismo. .................................................................................................................................... 18 1.7 Destruccin de objetos. .................................................................................................................... 18 1.8 Caractersticas de Java. ...................................................................................................................... 20 Java es Simple. ..................................................................................................................................... 20 Java es Orientado a Objetos. ............................................................................................................... 20 Java es Robusto. ................................................................................................................................... 21 Java es Multihilo (Multithreaded)........................................................................................................ 21 Java posee Arquitectura Neutral. ........................................................................................................ 22 Java es Interpretado. ........................................................................................................................... 22 Java es Distribuido. .............................................................................................................................. 23 Java es Dinmico. ................................................................................................................................. 23 1.9 Ventajas de la POO. ........................................................................................................................... 24 Modelos ............................................................................................................................................... 24 Modularidad ........................................................................................................................................ 24 Extensibilidad ....................................................................................................................................... 24 Eliminacion de redundancia................................................................................................................. 25 Reutilizacion ......................................................................................................................................... 25 1.10 Comparativa con otros Lenguajes de programacin orientados a objetos .................................... 25

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

ANEXO ...................................................................................................................................................... 26 HERENCIA ............................................................................................................................................. 26 EJEMPLO 1. HUMANO--CIUDADANO ............................................................................................... 26 EJEMPLO 2. ANIMAL---AVE .............................................................................................................. 27 EJEMPLO 3.PERSONA---ALUMNO .................................................................................................... 27 SOBRECARGA ....................................................................................................................................... 27 EJEMPLO 1. FRACCION ..................................................................................................................... 27 Polimorfismo ........................................................................................................................................ 29 EXAMEN ............................................................................................................................................... 30 PRACTICAS DE LA UNIDAD 1 .................................................................................................................... 31 OBJETIVO GENERAL DEL CURSO ................................................................. Error! Marcador no definido. CRITERIOS DE EVALUACIN DE LA 2DA. UNIDAD ....................................... Error! Marcador no definido. 2.1 INTRODUCCIN A LAS APPLETS. ........................................................... Error! Marcador no definido. 2.2 LA CLASE APPLET. .................................................................................. Error! Marcador no definido. 2.3 CONSTRUCCIN DE UNA APPLET.......................................................... Error! Marcador no definido. 2.4 CREACIN DE APPLETS AVANZADOS. ................................................... Error! Marcador no definido. 2.5 CREACIN DE APLICACIONES CON APPLETS. ........................................ Error! Marcador no definido. PRACTICAS DE LA UNIDAD 2 ....................................................................... Error! Marcador no definido. UNIDAD III. GRFICOS EN JAVA .................................................................. Error! Marcador no definido. 3.1 CONCEPTOS BSICOS DE LOS GRFICOS. ............................................. Error! Marcador no definido. Introduccin al API 2D de Java................................................................ Error! Marcador no definido. 3.2 LIBRERAS DE GRFICOS........................................................................ Error! Marcador no definido. 3.3 TIPOS DE GRFICOS. ............................................................................. Error! Marcador no definido. 3.3.1 TEXTO. ............................................................................................ Error! Marcador no definido. 3.3.2 IMGENES. ..................................................................................... Error! Marcador no definido. 3.4 TRANSFORMAR FORMAS. ..................................................................... Error! Marcador no definido. 3.5 COMPONER GRFICOS.......................................................................... Error! Marcador no definido.

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

TABLA DE IMGENES
Imagen 1. Datos de Java ............................................................................................................................ 9

Imagen 2. Representacin de un objeto .................................................................................................. 10 Imagen 3. Objeto. .................................................................................................................................... 11 Imagen 4. Ejemplos de objetos ................................................................................................................ 11 Imagen 5. Clase5 ....................................................................................................................................... 12 Imagen 6. Clases y objetos ....................................................................................................................... 12 Imagen 7. Ejemplo de un objeto y sus mtodos ...................................................................................... 12 Imagen 8. Propiedades de una clase. ...................................................................................................... 14 Imagen 9. Tipos de atributos. .................................................................................................................. 14 Imagen 10. Ejemplo de clase y objeto ..................................................................................................... 15 Imagen 11. Declaracin de un objeto ...................................................................................................... 15 Imagen 12. Abstraccin ........................................................................................................................... 16 Imagen 13. Ejemplo de herencia ............................................................................................................. 17 Imagen 14. Polimorfismo ......................................................................................................................... 18 Imagen 15. Ejemplo de navegador con java ............................................................................................ 23 Imagen 16. Descarga de mdulos con java.............................................................................................. 24

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

UNIDAD I. INTRODUCCIN A LA PROGRAMACIN ORIENTADA A OBJETOS EN JAVA

OBJETIVO GENERAL DEL CURSO


El estudiante conocer y aplicar las principales herramientas de desarrollo web, en el entorno de Java, para el desarrollo de sistemas.

TEMARIO
Unidad 1 Temas Introduccin a la POO en Java. Subtemas 1.1 Conceptos generales de la programacin orientada a objetos. 1.2 Clases y objetos. 1.2.1 Atributos. 1.2.2 Mtodos. 1.2.3 Constructores. 1.3 Abstraccin. 1.4 Encapsulacin. 1.5 Herencia. 1.6 Polimorfismo. 1.7 Destruccin de objetos. 1.8 Caractersticas de Java. 1.9 Ventajas de la POO. 1.10 Comparativa con otros Lenguajes de programacin orientados a objetos 2.1 Introduccin a las applets. 2.2 La clase applet. 2.3 Construccin de una applet. 2.4 Creacin de Applets avanzados. 2.5 Creacin de aplicaciones con Applets. 3.1 Conceptos bsicos de los grficos. 3.2 Libreras de grficos. 3.3 Tipos de grficos. 3.3.1 Texto. 3.3.2 Imgenes. 3.4 Transformar formas. 3.5 Componer grficos. 4.1 Definicin de servlet. 4.2 Usos de los servlets. 4.3 Caractersticas de los servlets. 4.4 La aplicacin Servletrunner. 4.4.1 Instalacin. 4.4.2 Fichero de propiedades. 4.4.3 Ejecucin. 4.5 Creacin de servlets. 4.6 Ciclo de vida de un servlet. 4.7 Formas de ejecucin de un servlet. 4.8 Introduccin al acceso de base de datos mediante servlets. 5.1 Introduccin a los dispositivos mviles y su programacin. 5.2 Java 2 Micro Edition (J2ME) 5.2.1 Origen y evolucin. 5.2.2 Ediciones de J2ME. 5.2.3 Arquitectura. 5.3 Tipos de dispositivos mviles. 5.4 Configuraciones. 5.5 Interfaz grfica de usuario midlets. 5.6 Uso de la herramienta NetBeans para la programacin de dispositivos mviles. 5.7 Desarrollo de aplicaciones para dispositivos mviles.

Applets

Grficos en Java.

Servlets

Aplicaciones mviles en Java.

CRITERIOS DE EVALUACIN
EXAMEN TAREAS PRACTICAS ASISTENCIA APUNTES 30% 30% 30% 5% 5% 100%

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

FECHAS DE EXAMENES
Unidad I Unidad II Unidad III Unidad IV Unidad V 06/JULIO/2012 13/JULIO/2012 19/JULIO/2012 25/JULIO/2012 03/AGOSTO/2012

UNIDAD I. INTRODUCCIN A LA PROGRAMACIN ORIENTADA A OBJETOS EN JAVA


1.1 Conceptos Generales de la Programacin Orientada a Objetos
QU ES LA PROGRAMACIN ORIENTADA A OBJETOS?

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

Hasta el momento, las siguientes son las formas de programacin utilizadas por los programadores: La programacin construyendo el programa instruccin a instruccin, utilizando las tres estructuras bsicas de control (Secuencial. Condicional e Iterativa): PROGRAMACIN IMPERATIVA. La programacin construyendo un programa mediante un conjunto de funciones de orden superior, que se han definido previamente (Subprograma) y aplicando posteriormente la programacin funcional y la recursin: PROGRAMACIN FUNCIONAL. La programacin construyendo un programa como un conjunto de asertos y reglas lgicas, que definen relaciones: PROGRAMACIN LGICA. La programacin que ve un programa como un conjunto de objetos que se relacionan unos a otros envindose mensajes: PROGRAMACIN ORIENTADA A OBJETOS. 1 En el mundo del software, un objeto es un componente de software con estructura similar a los objetos del mundo real. Cada objeto est compuesto por un juego de datos (propiedades y/o atributos) que son las variables que describen las caractersticas esenciales del objeto, tambin consiste en un juego de mtodos (comportamientos) que describen como el objeto se comporta. La clase es la estructura fundamental en la programacin orientada a objetos. Esta se puede tomar como una plantilla, un prototipo o un anteproyecto de los objetos. Esta consiste en dos tipos de miembros que son llamados campos (propiedades o atributos) y mtodos. Los campos especifican el tipo de datos definidos por la clase, mientras que los mtodos especifican las operaciones. Un objeto es una instancia de una clase. Las clases proporcionan la propiedad de la reusabilidad, los programas de software pueden usar una clase una y otra vez para crear muchos objetos.2

1 2

Introduccin A La Programacin En Java. Fray Len Osorio http://aprendeenlinea.udea.edu.co/lms/moodle/file.php/561/Modulos/Modulo_11_Classes_y_objetos_en_Java.pdf

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

DATOS SOBRE EL LENGUAJE JAVA.

Imagen 1. Datos de Java

1.2 Clases y objetos.


OBJETO:

Los objetos son la clave para entender la tecnologa orientada a objetos. Si mira a su alrededor ahora mismo se encontrar con muchos ejemplos de objetos del mundo real: su perro, su escritorio, su televisor, su bicicleta.

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

Imagen 2. Representacin de un objeto

Los objetos del mundo real comparten dos caractersticas: Todos tienen estado y comportamiento. Los perros tienen estado (nombre, color, raza, hambriento) y comportamiento (ladrando, buscando, meneando la cola). Las bicicletas tambin tienen un estado (marcha actual, cadencia de pedaleo actual, velocidad actual) y comportamiento (cambio de marcha, cambio de cadencia de pedaleo, frenar). Identificar el estado y el comportamiento de los objetos del mundo real es una gran ayuda para empezar a pensar en trminos de programacin orientada a objetos.

Tmese un momento ahora mismo para observar los objetos del mundo real que hay a su alrededor. Para cada uno de los objetos que ve, hgase dos preguntas: En qu posibles estados puede estar este objeto? y Qu posibles comportamientos puede realizar?". Asegrese de escribir sus observaciones. Mientras lo haga, ver que los objetos del mundo real varan en complejidad, su lmpara de escritorio puede tener solo dos estados (encendido y apagado) y dos posibles comportamientos (encender y apagar), pero su radio tendr ms estados (encendido, apagado, volumen actual, emisora actual) y comportamientos (encender, apagar, subir volumen, bajar volumen, buscar y sintonizar). Tambin observar que algunos objetos, a su vez, tambin contendrn otros objetos. Todas estas observaciones del mundo real son reproducibles en el mundo de la programacin orientada a objetos.3

http://www.codexion.com/tutorialesjava/java/concepts/object.html

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

Imagen 3. Objeto.

Imagen 4. Ejemplos de objetos

CLASE:

Las clases son abstracciones que representan a un conjunto de objetos con un comportamiento e interfaz comn. Podemos definir una clase como "un conjunto de cosas (fsicas o abstractas) que tienen el mismo comportamiento y caractersticas... Es la implementacin de un tipo de objeto (considerando los objetos como instancias de las clases)". [Piattini et al., 1996]. Una clase no es ms que una plantilla para la creacin de objetos. Cuando se crea un objeto (instanciacin) se ha de especificar de qu clase es el objeto instanciado, para que el compilador comprenda las caractersticas del objeto.

4 5

http://www.slideshare.net/techmi/curso-java-inicial-4-poo-en-java http://www.slideshare.net/nano_trujillo/programacin-orientada-a-objetos-2827362

Las clases presentan el estado de los objetos a los que representan mediante variables denominadas atributos. Cuando se instancia un objeto el compilador crea en la memoria dinmica un espacio para tantas variables como atributos tenga la clase a la que pertenece el objeto.6

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

Imagen 5. Clase

Imagen 6. Clases y objetos

Imagen 7. Ejemplo de un objeto y sus mtodos


6 7

http://zarza.usal.es/~fgarcia/doc/tuto2/I_1.htm http://www.slideshare.net/nano_trujillo/programacin-orientada-a-objetos-2827362

Tarea 1: Investigar los pilares de la POO

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

Tarea 2: Disear en UML 3 clases.

1.2.1 Atributos.

Caractersticas o propiedades que tiene un objeto y el conjunto de atributos define al objeto como uno ms de su clase, todo atributo es un dato que pertenece al objeto y es representado en el diseo como una variable. Las propiedades son como las variables en programacin estructurada, que pueden tomar un nico valor o varios y pueden ser de un tipo o de distintos. 8 Son datos especficos de una clase: Definidos por un nombre (sustantivos) y con los atributos (propiedades) que van a poseer (sustantivos o adjetivos). Deben ser nicos aunque el mismo nombre de un atributo puede estar en distintas clases. Definen la estructura de una clase y la de sus objetos. La declaracin como pblicas significa que podr utilizarse en cualquier parte del programa. Para acceder a un atributo hay que indicarle el nombre del objeto al que pertenece. Tenemos 2 tipos de propiedades: Propias: dentro del propio objeto.

http://www.slideshare.net/da4equipo3/propiedades-de-la-poo

Heredadas: definidas en otro objeto (antepasado), se las llama propiedades miembro; el objeto las posee por el simple hecho de ser miembro de una clase.

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

Imagen 8. Propiedades de una clase.

Imagen 9. Tipos de atributos.

1.2.2 Mtodos. Procesos que los objetos de su tipo pueden realizar o pueden aplicarse sobre ellos. Sus elementos son los argumentos y su tipo de retorno. Los argumentos son los datos necesarios para que el mtodo pueda realizar su tarea. De stos debe indicarse su respectivo tipo. Si el mtodo posee retorno, ste se refiere al tipo de dato de la respuesta o resultado del mtodo. Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecucin se desencadena tras la recepcin de un "mensaje". Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Un mtodo puede producir un cambio en las propiedades del objeto, o la generacin de un "evento" con un nuevo mensaje para otro objeto del sistema.

Las categoras de los mtodos son: Inicializadores Operadores Getters Constructores Setters Destructores Visualizadores Otros

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

1.2.3 Constructores. Mtodos especiales que se ejecutan cuando se crea un objeto. Inicializan a los atributos. Pueden existir varios constructores (sobrecarga). Tienen el mismo nombre de la clase, son pblicos y no tienen tipo de dato de retorno. El constructor es necesario, para que solo en la clase se inicialicen los valores de las variables privadas, es decir, son procedimientos que se ejecutan en el momento de la instanciacin del objeto (tienen el mismo nombre de la clase).

Imagen 10. Ejemplo de clase y objeto

Imagen 11. Declaracin de un objeto

1.3 Abstraccin.
La abstraccin es un mtodo por el cual obtenemos una determinada entidad de la realidad sus caractersticas y funciones que desempean, estos son representados en clases por medio de atributos y mtodos de dicha clase. Ejemplo: Un ejemplo sencillo para comprender este concepto seria la abstraccin de un Automvil. Determinamos de la entidad sus caractersticas por ejemplo: color, ao de fabricacin, modelo, etc. Y tambin sus mtodos o funciones tpicas de esta entidad como por ejemplo: frenar, encender, etc.

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

Imagen 12. Abstraccin

1.4 Encapsulacin.
Es el empaquetamiento de las variables de un objeto con la proteccin de sus mtodos. Es usado para esconder detalles de la puesta en prctica no importantes de otros objetos, entonces los mtodos dentro de sus instrucciones pueden cambiar en cualquier tiempo sin afectar otras partes del programa. Ventajas: Modularidad: se realiza en partes o modelos y darle mantenimiento al cdigo. Ocultamiento de informacin: la interfaz puede ser privada y nadie tiene acceso a el. Las clases proveen el beneficio de la reutilizacin. Este concepto se basa en que por ejemplo a un conductor no necesita saber cmo estn compuestas las partes internas del motor, sino la funcionalidad que tiene, a este ocultamiento se le denomina encapsulamiento. Es el ocultamiento de informacin que no es necesario saber un determinado usuario.

1.5 Herencia.
Es una caracterstica fundamental de la POO ya que es la que permite un gran aumento en la reutilizacin de cdigo. La posibilidad de crear nuevas clases basadas en otras preexistentes permite crear bibliotecas genricas, a las cuales les podemos hacer algunos ajustes. Para crear una clase basada en una preexistente se utiliza la siguiente sintaxis: clase { } subclase extends superclase

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

Persona

Estudiante

Empleado

Medio superior

Superior

Obrero

Gerente

Regular es

Irregular

Regular es

Irregular es

Turno

M
Imagen 13. Ejemplo de herencia

1.6 Polimorfismo.
Llamar a un mtodo igual que otros pero con diferentes parmetros. Este concepto se base en que podemos utilizar varios metodos con el mismo nombre y con diferente funcionalidad. Por ejemplo de mi clase Vehiculos tenemos el metodo frenar, y tenemos sus sub clases Automovil y Motocicleta, ambos tienen el metodo frenar pero cada uno tiene una definicion diferente para cada clase. A esto se le denomina polimorfismo, mas adelante lo vamos a ver en las sobrecargas de funciones y redefiniciones de metodos en la herencia.

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

Imagen 14. Polimorfismo

1.7 Destruccin de objetos.


a.) La destruccin de los objetos Cuando un objeto no va a ser utilizado, el espacio de memoria de dinmica que utiliza ha de ser liberado, as como los recursos que posea, permitiendo al programa disponer de todos los recursos posibles. A esta accin se la da el nombre de destruccin del objeto. En Java la destruccin se puede realizar de forma automtica o de forma personalizada, en funcin de las caractersticas del objeto. b.) La destruccin por defecto: Recogida de basura El intrprete de Java posee un sistema de recogida de basura, que por lo general permite que no nos preocupemos de liberar la memoria asignada explcitamente. El recolector de basura ser el encargado de liberar una zona de memoria dinmica que haba sido reservada mediante el operador new, cuando el objeto ya no va a ser

utilizado ms durante el programa (por ejemplo, sale del mbito de utilizacin, o no es referenciado nuevamente). El sistema de recogida de basura se ejecuta peridicamente, buscando objetos que ya no estn referenciados.

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

c.) La destruccin personalizada: finalize A veces una clase mantiene un recurso que no es de Java como un descriptor de archivo o un tipo de letra del sistema de ventanas. En este caso sera acertado el utilizar la finalizacin explcita, para asegurar que dicho recurso se libera. Esto se hace mediante la destruccin personalizada, un sistema similar a los destructores de C++. Para especificar una destruccin personalizada se aade un mtodo a la clase con el nombre finalize: class ClaseFinalizada{ ClaseFinalizada() { // Constructor // Reserva del recurso no Java o recurso compartido } protected void finalize() { // Liberacin del recurso no Java o recurso compartido } }

En Java, el programador no tiene que preocuparse por la gestin de la memoria. Los objetos se destruyen solos, mediante el recolector de memoria, sin que el programador tenga que pedirlo. En otros lenguajes, como el Pascal o el C, en los que la memoria se utiliza dinmicamente para varios propsitos, si que debe liberarse explcitamente. El recolector de memoria consume recursos de la mquina pero, merece la pena. Estamos seguros de que la memoria no se deteriora por defectos en la programacin.

1.8 Caractersticas de Java.


Java es Simple.
Java ofrece toda la funcionalidad de un lenguaje potente, pero sin las caractersticas menos usadas y ms confusas de stos. C++ es un lenguaje que adolece de falta de seguridad, pero C y C++ son lenguajes ms difundidos, por ello Java se dise para ser parecido a C++ y as facilitar un rpido y fcil aprendizaje. Java elimina muchas de las caractersticas de otros lenguajes como C++, para mantener reducidas las especificaciones del lenguaje y aadir caractersticas muy tiles como el garbage collector (reciclador de memoria dinmica). No es necesario preocuparse de liberar memoria, el reciclador se encarga de ello y como es un thread de baja prioridad, cuando entra en accin, permite liberar bloques de memoria muy grandes, lo que reduce la fragmentacin de la memoria. Java reduce en un 50% los errores ms comunes de programacin con lenguajes como C y C++ al eliminar muchas de las caractersticas de stos, entre las que destacan: Aritmtica De Punteros. No Existen Referencias. Registros (Struct). Definicin De Tipos (Typedef). Macros (#Define). Necesidad De Liberar Memoria (Free). Aunque, en realidad, lo que hace es eliminar las palabras reservadas (struct, typedef), ya que las clases son algo parecido. Adems, el intrprete completo de Java que hay en este momento es muy pequeo, ocupa muy poca RAM.

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

Java es Orientado a Objetos.


Java implementa la tecnologa bsica de C++ con algunas mejoras y elimina algunos aspectos para mantener el objetivo de la simplicidad del lenguaje. Java trabaja con sus datos como objetos y con interfaces a esos objetos. Soporta las tres caractersticas propias del paradigma de la orientacin a objetos: encapsulacin, herencia y polimorfismo. Las plantillas de objetos son llamadas, como en C++, clases y sus copias, instancias. Estas instancias, como en C++, necesitan ser construidas y destruidas en espacios de memoria. Java incorpora funcionalidades inexistentes en C++ como por ejemplo, la resolucin dinmica de mtodos. Esta caracterstica deriva del lenguaje Objective C, propietario del sistema operativo Next. En C++ se suele trabajar con libreras dinmicas (DLLs) que obligan a recompilar la aplicacin cuando se retocan las funciones que se encuentran

en su interior. Este inconveniente es resuelto por Java mediante una interfaz especfica llamada RTTI (RunTime Type Identification) que define la interaccin entre objetos excluyendo variables de instancias o implementacin de mtodos. Las clases en Java tienen una representacin en el runtime que permite a los programadores interrogar por el tipo de clase y enlazar dinmicamente la clase con el resultado de la bsqueda.

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

Java es Robusto.
Java realiza verificaciones en busca de problemas tanto en tiempo de compilacin como en tiempo de ejecucin. La comprobacin de tipos en Java ayuda a detectar errores lo antes posible en el ciclo de desarrollo. Java obliga a la declaracin explcita de mtodos y tipos de variables (Java es fuertemente tipado), reduciendo as las posibilidades de error. Maneja la memoria para eliminar las preocupaciones por parte del programador de la liberacin o corrupcin de memoria. Tambin implementa los arrays autnticos, en vez de listas enlazadas de punteros, con comprobacin de lmites, para evitar la posibilidad de sobreescribir o corromper memoria resultado de punteros que sealan a zonas equivocadas. Estas caractersticas reducen drsticamente el tiempo de desarrollo de aplicaciones en Java. Adems, para asegurar el funcionamiento de la aplicacin, realiza una verificacin de los byte-codes, que son el resultado de la compilacin de un programa Java. Es un cdigo de mquina virtual que es interpretado por el intrprete Java. No es el cdigo mquina directamente entendible por el hardware, pero ya ha pasado todas las fases del compilador: anlisis de instrucciones, orden de operadores, etc., y ya tiene generada la pila de ejecucin de rdenes. Java proporciona, por tanto: Comprobacin de punteros. Comprobacin de lmites de arrays. Excepciones. Verificacin de byte-codes.

Java es Multihilo (Multithreaded).


Java al ser multithreaded, permite muchas actividades simultneas en un programa. Los threads (a veces llamados, procesos ligeros), son bsicamente pequeos procesos o piezas independientes de un gran proceso. Al estar los threads construidos en el lenguaje, son ms fciles de usar y ms robustos que sus homlogos en C o C++. El beneficio de ser multithreaded consiste en un mejor rendimiento interactivo y mejor comportamiento en tiempo real. Aunque el comportamiento en tiempo real est limitado a las capacidades del sistema operativo subyacente (Unix, Windows, etc.), an supera a los entornos de flujo nico de programa (single-threaded), tanto en facilidad de desarrollo, como en rendimiento.

Como ejemplo de todo esto, supongamos la visualizacin de una imagen desde Internet. Con Java, esta imagen se pueden ir trayendo en un thread independiente, permitiendo que el usuario pueda acceder a la informacin en la pgina sin tener que esperar por el navegador.

Java posee Arquitectura Neutral.


Uno de los principales problemas con el que se enfrentan los programadores es que no hay garantas de que un programa que escriben hoy se ejecute maana, e incluso en la misma mquina. Las actualizaciones del sistema operativo, de los procesadores y los cambios en los recursos bsicos del sistema pueden provocar que un programa deje de funcionar correctamente. Java ha sido diseado para "escribir una vez, ejecutar en cualquier sitio, en cualquier momento y para siempre". En gran parte, ese objetivo se ha logrado.

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

Java es Interpretado.
El intrprete Java (sistema run-time) puede ejecutar directamente el cdigo objeto. Enlazar (linkar) un programa, normalmente, consume menos recursos que compilarlo, por lo que los desarrolladores con Java pasarn ms tiempo desarrollando y menos esperando por el ordenador. No obstante, el compilador actual del JDK es bastante lento. Por ahora, que todava no hay compiladores especficos de Java para las diversas plataformas, Java es ms lento que otros lenguajes de programacin, como C++, ya que debe ser interpretado y no ejecutado como sucede en cualquier programa tradicional. Se dice que Java es de 10 a 30 veces ms lento que C, y que tampoco existen en Java proyectos de gran envergadura como en otros lenguajes. La verdad es que ya hay comparaciones ventajosas entre Java y el resto de los lenguajes de programacin, y una gran cantidad de folletos electrnicos a favor y en contra de los distintos lenguajes contendientes con Java. Lo que se suele dejar de lado en todo esto, es que primero habra que decidir hasta que punto Java, un lenguaje en pleno desarrollo y todava sin definicin definitiva, est maduro como lenguaje de programacin para ser comparado con otros; como por ejemplo con Smalltalk, que lleva ms de 20 aos en uso. La verdad es que Java para conseguir ser un lenguaje independiente del sistema operativo y del procesador que incorpore la mquina utilizada, es tanto interpretado como compilado. Y esto no es ningn contrasentido, el cdigo fuente escrito con cualquier editor se compila generando el byte-code. Este cdigo intermedio es de muy bajo nivel, pero sin alcanzar las instrucciones mquina propias de cada plataforma y no tiene nada que ver con el p-code de Visual Basic. El byte-code corresponde al 80% de las instrucciones de la aplicacin. Ese mismo cdigo es el que se puede ejecutar sobre cualquier plataforma. Para ello hace falta el run-time, que s es completamente dependiente de la mquina y del sistema operativo, que interpreta dinmicamente el byte-code y aade el 20% de instrucciones que faltaban para su ejecucin. Con este

sistema es fcil crear aplicaciones multiplataforma, pero para ejecutarlas es necesario que exista el run-time correspondiente al sistema operativo utilizado.

Java es Distribuido.
Java se ha construido con extensas capacidades de interconexin TCP/IP. Existen libreras de rutinas para acceder e interactuar con protocolos como http y ftp. Esto permite a los programadores acceder a la informacin a travs de la red con tanta facilidad como a los ficheros locales. Java en s no es distribuido, sino que proporciona las libreras y herramientas para que los programas puedan ser distribuidos, es decir, que se ejecuten en varias mquinas, interactuando. Como ejemplo, Java tambin tiene la posibilidad de que los objetos puedan ejecutar procedimientos remotos; esta facilidad se llama RMI (Remote Method Invocation). Esto le aporta ms caractersticas del modelo cliente/servidor.

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

Java es Dinmico.
Java se beneficia todo lo posible de la tecnologa orientada a objetos. Java no intenta conectar todos los mdulos que comprenden una aplicacin hasta el tiempo de ejecucin. Las librera nuevas o actualizadas no paralizarn las aplicaciones actuales (siempre que mantengan el API anterior). La siguiente figura muestra las diferencias entre un navegador convencional y un con Java:

Imagen 15. Ejemplo de navegador con java

Java tambin simplifica el uso de protocolos nuevos o actualizados. Si su sistema ejecuta una aplicacin Java sobre la red y encuentra una pieza de la aplicacin que no

sabe manejar es capaz de traer automticamente cualquiera de esas piezas que el sistema necesita para funcionar desde el servidor remoto.

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

Imagen 16. Descarga de mdulos con java.

Java, para evitar tener que ir descargando mdulos de byte-codes, objetos o nuevas clases, implementa las opciones de persistencia, para que no se eliminen cuando de limpie la cach de la mquina.9

1.9 Ventajas de la POO.


Modelos

La poo permite realizar un modelo de sistema casi independientemente de los requisitos del Proyecto. La razon es que en la poo la jerarquia la establecen los datos, en cambio en la Programacion estructurada la jerarquia viene definida por los programas. Este cambio hace que los modelos se establezcan de forma similar al razonamiento humano y, por lo tanto, resulte mas natural.

Modularidad

Un programa es modular si se compone de modulos independientes y robustos. Esto permite la Reutilizacion y facilita la verificacion y depuracion de los mismos. En poo, los modulos estan Directamente relacionados con los objetos. Los objetos son modulos naturales ya que corresponden A una imagen logica de la realidad.

Extensibilidad

Durante el desarrollo de sistemas, ocurre la aparicion de nuevos requisitos, por eso es deseable Que las herramientas de desarrollo permitan anadirlos sin modificar la
9

http://www.dma.fi.upm.es/mabellanas/voronoi/java/java.htm#2.2

estructura basica del Diseno. En poo es posible lograr esto siempre y cuando se hayan definido de forma adecuada la Jerarquia de clases, los atributos y metodos.

Eliminacion de redundancia
En el desarrollo de sistemas se desea evitar la definicion multiple de datos y funciones comunes. En poo esto se logra mediante la herencia (evita la definicion multiple de propiedades comunes a Muchos objetos) y el polimorfismo (permite la modificacin de metodos heredados). Solo hay que Definir los atributos y los metodos en el antepasado mas lejano que los comparte.

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

Reutilizacion
La poo proporciona un marco perfecto para la reutilizacin de las clases. El encapsulamiento y la Modularidad nos permiten utilizar una y otra vez las mismas clases en aplicaciones distintas. En efecto, el aislamiento entre distintas clases significa que es posible aadir una nueva clase o Un modulo nuevo (extensibilidad) sin afectar al resto de la aplicacin. Los beneficios de la programacin orientada a objetos son ms que los que pueden verse a simple vista. El nfasis en las propiedades esenciales de un objeto, fuerza al desarrollador a pensar cuidadosamente que es un objeto y que es lo que hace con el resultado de que el sistema es normalmente ms preciso, general y robusto que si pusiramos el nfasis en los procedimientos y los datos por separado

1.10 Comparativa con otros Lenguajes de programacin orientados a objetos

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

ANEXO
HERENCIA
EJEMPLO 1. HUMANO--CIUDADANO HUMANO.JAVA class Humano { protected String nombre; protected String apellido; public Humano(String nombre,String apellido) { this.nombre = nombre; this.apellido = apellido; } public String nombreCompleto() { return this.apellido + ", " + this.nombre; } public String identificacion() { return this.nombreCompleto(); } }

class Ciudadano extends Humano { protected String documento; public Ciudadano(String nombre,String apellido, String documento) { super(nombre,apellido); this.documento = documento; } public String identificacion() { return super.identificacion() + ", documento: " + this.documento; } } public class herencia1 { public static void main(String[] args) { // TODO Auto-generated method stub Humano a = new Humano("Emilio","Rosso"); Ciudadano b = new Ciudadano("Emilio","Rosso","3052454545"); System.out.println("Humano:"+a.nombreCompleto()+a.identificacion()); System.out.println("Ciudadano:"+b.identificacion()); } }

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

EJEMPLO 2. ANIMAL---AVE EJEMPLO 3.PERSONA---ALUMNO

SOBRECARGA
EJEMPLO 1. FRACCION public class sobrecargas{ private double suma; public sobrecargas() { suma=0; } public sobrecargas(double a,double b) { suma=0; }

public int sumar(int n1,int n2) { int total; total=n1+n2; suma=total; return total; } public void sumar(double n1,double n2) { double total; total=n1+n2; suma=total; System.out.println("El total de la suma es: "+ total); } } import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class sobrecarga1 { /** * @param args */ public static void main(String argum[]) throws IOException { BufferedReader op = new BufferedReader(new InputStreamReader(System.in)); String opc; int a,b; double a1,b1; //declara el objeto cuenta de tipo banco sobrecargas cuenta = new sobrecargas(); System.out.println("Ingrese Valor fraccionario de A"); a1=Double.parseDouble( op.readLine() ); System.out.println("Ingrese Valor fraccionario de B"); b1= Double.parseDouble( op.readLine() ); cuenta.sumar(a1, b1); System.out.println("Ingrese Valor de A"); a=Integer.parseInt( op.readLine() ); System.out.println("Ingrese Valor de B"); b= Integer.parseInt( op.readLine() ); System.out.println("El total es: "+ cuenta.sumar(a, b));

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

} } // fin clase

Polimorfismo
El Polimorfismo es la respuesta distinta frente a una llamada a un mtodo dependiendo de la naturaleza del objeto. Consiste en definir mtodos distintos, que comparten el mismo nombre, pero que se aplican a clases diferentes. Por ejemplo, un mtodo llamado breathe puede responder de manera distinta dependiendo de quien lo invoque:

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

Cdigo
class animal { public void breathe() { System.out.println("Respirar..."); } } class pez extends animal { public void breathe() { System.out.println("Burbujear..."); } }

Si se invoca el mtodo breathe desde un objeto-perro, imprimir en pantalla "Respirar...", pero si es invocado desde un objeto-trucha, imprimir en pantalla "Burbujear...". Otra forma de utilizar polimorfismo es mediante la sobrecarga de funciones:

Cdigo: char convertir_numero_cadena(int valor, char cadena, int base) char convertir_numero_cadena(long valor, char cadena, int base) En este caso, cuando se invoca la funcin, el compilador debe analizar los argumentos de la llamada y, en funcin de su tipo,

deducir cual de las distintas versiones del mtodo con ese nombre debe recibir el control. EXAMEN

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

public class tabla { private int num; //constructor que inicializa la variable privada tabla() { num=0; } void asignar(int num) { this.num=num; } //la funcion para imprimir la tabla void calcular_tabla () { int i=1,res=0; while(i<=10) { res=num*i; System.out.println(num+" X "+i+" = "+res); i++; } } } import java.io.*; public class principal { public static void main(String[] args) throws IOException{ int numero; BufferedReader l; InputStreamReader e;

e= new InputStreamReader(System.in); l= new BufferedReader(e); tabla miobjeto= new tabla();

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

System.out.println("EScriba un numero: "); numero= Integer.parseInt(l.readLine()); miobjeto.asignar(numero); miobjeto.calcular_tabla();

} }

APLICACIONES EN JAVA II

PRACTICAS DE LA UNIDAD 1
CURSO DE VERANO 2012 DOCENTE: LIC. PATRICIA HERNNDEZ RODRGUEZ Realizar y entregar el da del examen. Todas las prcticas deben de estar con comentarios, sobre la funcin que realizan. Cada programa debe de llevar, la siguiente presentacin (Ejemplo): Nmero de Practica: 5 (consecutivo a las prcticas que realicemos) Nombre: Cuadrado de un nmero Fecha: 31/01/2012 Desarrollo: Mostrar el cdigo (la ltima lnea que debe de mostrar el programa es tu nombre) y la pantalla de resultado. Realizado por: <<Tu nombre>>

1. Programa que lee el nombre y el nmero y calcula el cuadrado de este. 2. Programa que intercambia el valor de 2 variables. 3. Programa que convierte de grados celsius a Fahrenheit, la formula es f=(9/5)*c+32

Aplicaciones en Java II----Lic. Patricia Hernndez Rodrguez----Lic. En Informtica

4. Escribir un programa en Java que sume, reste, multiplique y divida dos nmeros: 5. Programa que despliegue un men y solicite al usuario a que figura desea calcular el rea. a) Cuadrado. b) Rectngulo. c) Tringulo. d) Salir.
6. Escribir un programa en Pascal que evale la siguiente expresin: (-b + (b2-4*a*c)/(2*a)

(es la solucin positiva de una ecuacin de 2 grado)


7. Realizar la clase automvil con las siguientes caractersticas: 1) marca, 2) modelo, 3) cantidad_gas. Con los mtodos 1) encendido, 2) cargar gasolina.

8. Hacer una clase figura, con los datos de tipo_figura, ancho, alto, area, permetro, los mtodos: calcular_perimetro, calcular_area.

9. Hacer una clase materia, con los datos nombre, maestro, promedio, y los mtodos mostrar y leer.

Potrebbero piacerti anche