Your SlideShare is downloading. ×
Aplicaciones de java
Aplicaciones de java
Aplicaciones de java
Aplicaciones de java
Aplicaciones de java
Aplicaciones de java
Aplicaciones de java
Aplicaciones de java
Aplicaciones de java
Aplicaciones de java
Aplicaciones de java
Aplicaciones de java
Aplicaciones de java
Aplicaciones de java
Aplicaciones de java
Aplicaciones de java
Aplicaciones de java
Aplicaciones de java
Aplicaciones de java
Aplicaciones de java
Aplicaciones de java
Aplicaciones de java
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Aplicaciones de java

232

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
232
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. APLICACIONES DE JAVA Autor: Spinetti, Angeline 47-19.549.303 Profesor: Ing. Diógenes Rodríguez Porlamar, Junio 2013 INSTITUTO UNIVERSITARIO POLITÉCNICO SANTIAGO MARIÑO “EXTENSIÓN PORLAMAR” ESCUELA DE INGENIERÍA DE SISTEMAS
  • 2. INTRODUCCIÓN Es importante recordar que JAVA es un lenguaje de programación orientado a objetos, desarrollado por SunMicrosytem en el 1995. Java es un lenguaje relativamente sencillo, debido a que prácticamente toda la funcionalidad se encuentra en clases que forman parte del API de java. Constantemente están surgiendo nuevos apis, que proporcionan nuevas extensiones a las características del lenguaje. Este lenguaje de programación es: Simple Distribuido Robusto Arquitectura Neutral Seguro Portable Dinámico. Estas características, junto con el hecho de que sea un lenguaje libre, pudiéndose utilizar el compilador y la máquina virtual de forma gratuita le augura un gran futuro. Otro de los usos de la programación en Java es la elaboración de aplicaciones, que se ejecutan de modo independiente. Es decir, con la programación Java se pueden realizar programas como un procesador de texto, una hoja de cálculos, una aplicación gráfica, entre otras, en pocas palabras cualquier clase de aplicación puede hacerse con ella.
  • 3. Java posibilita la modularidad, por lo que es factible realizar rutinas individuales que sean usadas por diversas aplicaciones, por ejemplo tenemos una rutina de impresión que puede ser útil para el procesador de palabras, como para la hoja de cálculo. La programación en Java, posibilita el desarrollo de aplicaciones bajo el esquema de Cliente Servidor, como de programas distribuidos, lo que lo hace capaz de conectar dos o más ordenadores, realizando tareas simultáneamente, y de esta manera consigue distribuir el trabajo a efectuar.
  • 4. ENTRADA Y SALIDA DE DATOS EN JAVA Entrada y Salida en Java Una de las operaciones más habituales que tiene que realizar un programa Java es intercambiar datos con el exterior. Para ello, el paquete java.io de J2SE incluye una serie de clases que permiten gestionar la entrada y salida de datos en un programa, independientemente de los dispositivos utilizados para el envío/recepción de los datos. El paquete de Salida es PrintStream. El paquete de Entrada es InputStream, que deriva en BufferedReader e InputStreamReader. Salida de Datos El envío de datos al exterior se gestiona a través de la clase PrintStream, utilizándose un objeto de la misma para acceder al dispositivo de salida. Posteriormente, con los métodos proporcionados por esta clase, podemos enviar la información al exterior. El proceso de envío de datos a la salida debe realizarse siguiendo dos pasos: 1.- Obtención del objeto PrintStream. Se debe crear un objeto PrintStream asociado al dispositivo de salida, la forma de hacerlo dependerá del dispositivo en cuestión. La clase System
  • 5. proporciona el atributo estático out que contiene una referencia al objeto PrintStream asociado a la salida estándar, representada por la consola 2.- Envío de datos al stream. La clase PrintStream dispone de los métodos print() (String cadena) y println() (String cadena) para enviar una cadena de caracteres al dispositivo de salida, diferenciándose uno de otro en que el segundo añade un salto de línea al final de la cadena. Esto explica que para enviar un mensaje a la consola se use la expresión System.out.println(). Ambos métodos se encuentran sobrecargados, es decir, existen varias versiones de los mismos para distintos tipos soportados por el lenguaje. En general, para enviar datos desde un programa Java al exterior habrá que utilizar la expresión: objeto_printstream.println(dato); objeto_printstream.print(dato); Siendo dato un valor de tipo String, int, float, double, char o boolean. CLASES DE JAVA PARA LECTURA Y ESCRITURA DE DATOS El acceso a la entrada y salida estándar es controlado por tres objetos que se crean automáticamente al iniciar la aplicación: System.in, System.out y System.err a) System.in: Este objeto implementa la entrada estándar (normalmente el teclado). Los métodos que nos proporciona para controlar la entrada son:
  • 6. Read(): Devuelve el carácter que se ha introducido por el teclado leyéndolo del buffer de entrada y lo elimina del buffer para que en la siguiente lectura sea leído el siguiente carácter. Si no se ha introducido ningún carácter por el teclado devuelve el valor -1. Skip(n): Ignora los n caracteres siguientes de la entrada. b) System.out:Este objeto implementa la salida estándar. Los métodos que nos proporciona para controlar la salida son: Print(a): Imprime a en la salida, donde a puede ser cualquier tipo básico Java ya que Java hace su conversión automática a cadena. Println(a): Es idéntico a print(a) salvo que con println() se imprime un salto de línea al final de la impresión de a. c) System.err: Este objeto implementa la salida en caso de error. Normalmente esta salida es la pantalla o la ventana del terminal como con System.out, pero puede ser interesante redirigirlo, por ejemplo hacia un fichero, para diferenciar claramente ambos tipos de salidas. Fuente: http://zarza.usal.es/~fgarcia/doc/tuto2/III_3.htm ENTRADA Y SALIDA ESTANDAR (TECLADO Y PANTALLA) En java, para leer la entrada standard (la del teclado) contamos con System.in Sin embargo, System.in es un InputStream, que cuenta con pocos métodos útiles para leer el teclado. De hecho, sólo tiene métodos para leer
  • 7. bytes. Si en el teclado escribimos una A mayúscula, System.in nos devolverá un byte 65. Afortunadamente en java hay muchas clases ya preparadas. Tenemos clases InputStreamReader, BufferedReader, FileReader, etc. Estas clases tienen como misión leer un "flujo" de bytes o de caracteres y darnos métodos que nos faciliten la lectura. Hay básicamente dos tipos de clases. Las más básicas son las InputStream, que son clases que leen bytes. Sobre ella se construyen los Reader, que son clases que leen caracteres (transforman los bytes a caracteres). Para convertir de una a otra, tenemos el InputStreamReader. Un InputStreamReader recibe un InputStream en el constructor y se comporta como un Reader, es decir, lector de caracteres. La clase InputStreamReader tiene métodos que nos permite leer char o arrays de char. Bien, con este trozo de código InputStreamReader isr = new InputStreamReader(System.in); Ya tenemos un InputStreamReader asociado al teclado y del que podemos leer directamente caracteres, en vez de bytes. Cuando escribamos una A, leeremos una 'A' y no un byte 65. La siguiente clase que podemos usar es BufferedReader. Esta clase recibe un Reader en el constructor (podemos pasarle nuestro InputStreamReader) y tiene un método para leer una línea completa de teclado, de forma que nos devuelve un String. BufferedReader bf = new BufferedReader (isr);
  • 8. String lineaTeclado = bf.readLine(); El problema ahora es si escribimos un 123, obtendremos "123" como String. Seguramente queramos convertirlo a int, o float o lo que sea. Para ello no nos queda más remedio que analizar la cadena y convertirla al valor que queramos. Por ejemplo, para convertirla a un int, podemos hacer esto int valor = Integer.parseInt (lineaTeclado); Por supuesto, se supone que hemos escrito un entero en esa línea y sólo un entero, o saltará una excepción. El siguiente es un código de ejemplo con todo esto junto: // Creación de BufferedReader para facilitar la lectura. BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); try { // Lectura de un entero System.out.print ("Introduce un número entero: "); String cadena = br.readLine(); int valor = Integer.parseInt(cadena); System.out.println ("Has escrito "+valor); // Lectura de un double System.out.print ("Escribe ahora un numero flotante: "); cadena = br.readLine(); double valor2 = Double.parseDouble(cadena); System.out.println ("Has escrito "+valor2); } catch (Exception e) {}
  • 9. Salida estándar La salida estándar estáasociado por defecto a la terminal del sistema, es decir que el resultado de los datos enviados a la salida se observa en pantalla a menos que su destino sea modificado. Existen dos salidas con diferentes propósitos, una es la propiamente denominada salida estándar la cual se utiliza para la salida regular de datos, y la otra es la salida estándar de errores la cual se utiliza para la salida de errores. La salida de datos: System.out La salida estándar de datos para uso normal (abreviada y en inglés: StdOut) está representada por un objeto PrintStream llamado out. La clase PrintStream es una implementación especial de FilterOutputStream y por lo tanto también de la clase base OutputStream, de modo que mostrar datos en pantalla es tan sencillo como referirnos a la variable out e invocar el método void println(String x). Ejemplo; 1 2 3 ... System.out.println("Hola Mundo"); ... La salida: Hola Mundo Los métodos print(...) y println(...) son los más usados. De hecho la clase PrintStream posee estos métodos sobrecargados para todos los datos primitivos (int, long, etc.) y entonces así puede enviar cualquier tipo de dato como texto hacia la salida. Los objetos que se quieran imprimir o concadenar
  • 10. serán implícitamente representados por su implementación del método String toString(). SERIALIZACIÓN Según definición; [García, 1999] como: “Un proceso por el que un objeto cualquiera se puede convertir es una secuencia de bytes con la que más tarde se podrá reconstruir el valor de sus variables. Esto permite guardar un objeto en un archivo o mandarlo por la red.” Es un proceso en el que el estado de un objeto y sus metadatos (como el nombre de clase del objeto y los nombres de sus atributos) se almacenan en un formato binario especial. Poner el objeto en este formato, serializándolo, preserva toda la información necesaria para reconstituir (o deserializar) el objeto cuando usted necesite hacerlo. Hay dos casos de usos primarios para la serialización de objetos: La persistencia de objetos significa almacenar el estado del objeto en un mecanismo de persistencia permanente, como por ejemplo una base de datos. Los objetos remotos implican el envío del objeto a otra computadora o sistema. JNI (JAVA NATIVE INTERFACE) Es una interfaz que funciona como instrumento de Java ayudando a que las aplicaciones escritas en Java puedan ejecutarse un código nativo, permitiendo el ahorro del tiempo en el desarrollo de diversas tareas.
  • 11. Sus objetivos principales son: Garantizar que las implementaciones de la maquina visual sean compatibles con el código binario de las aplicaciones nativas, logrando así a que los programadores solo tienen que implementar una versión de aplicaciones. Mantener la eficiencia en cuanto a mejoras y normalización del acceso a código nativo. Realizar tareas lucrativas en las aplicaciones nativas al ofrecer suficientemente información de la máquina virtual El proceso de implementación de una llamada a código nativo desde Java utilizando un método nativo. Ejemplo: Pasos a seguir: 1. Creación de una clase que declare el código nativo. En este caso „„HolaMundo.java” 2. Compilación de la clase. 3. Uso de javah (que se encuentra en el kit de desarrollo de Java) para crear el archivo de cabecera de la librería nativa (HolaMundo.h). 4. Implementación de las funciones declaradas en el archivo de cabecera generado en el paso 3 (HolaMundo.c). 5. Compilación de la librería nativa. La librería generada debe ser dinámica, por lo que la extensión del archivo debe ser “.so” (linux), “dylib” (Mac Os X) o “.dll” (Windows). 6. Ejecución de la clase que llama al código nativo.
  • 12. Fuente: http://bibing.us.es/proyectos/abreproy/11855/fichero/memoria%252F09- Capitulo7.pdf RMI Y JAVA IDL Aplicaciones RMI a menudo comprenden dos programas separados, un servidor y un cliente. Un programa de servidor típico crea algunos objetos remotos, hace referencias a estos objetos accesibles, y espera para los clientes para invocar métodos en estos objetos. Un programa de cliente típico obtiene una referencia remota a uno o más objetos remotos en un servidor y, a continuación invocan métodos en ellos. RMI proporciona el mecanismo por el que el servidor y el cliente se comunican y transmiten información de ida y vuelta. Dicha aplicación se refiere a veces como una aplicación de objetos distribuidos. Aplicaciones de objetos distribuidos tienen que hacer lo siguiente: Localizar objetos remotos. Las aplicaciones pueden utilizar varios mecanismos para obtener referencias a objetos remotos. Por ejemplo, una aplicación puede registrar sus objetos remotos con la facilidad de nombres simples de RMI, el registro RMI. Como alternativa, una aplicación puede pasar y devolver referencias a objetos remotos como parte de otras invocaciones remotas. Comunicarse con objetos remotos. Los detalles de la comunicación entre objetos remotos son manejados por RMI. Para el programador, la comunicación remota es similar a regulares llamadas a métodos Java.
  • 13. Cargar definiciones de clase para los objetos que se pasan alrededor. Como RMI permite que los objetos que se pasan hacia atrás y adelante, que proporciona mecanismos para cargar las definiciones de clase de un objeto, así como para la transmisión de datos de un objeto. Usando RMI para desarrollar una aplicación distribuida implica los siguientes pasos generales: Diseño e implementación de los componentes de la aplicación distribuida. Compilar fuentes. Haciendo red clases accesible. Inicio de la aplicación. Fuente: http://docs.oracle.com/javase/tutorial/rmi/overview.html JAVA IDL Java Interface Description Language es una implementación CORBA que permite que dos objetos interactúen sobre diferentes plataformas a través de una red. Java IDL al ser una interfaz permite que los objetos interactúen sin importar el lenguaje en que estén escritos, a diferencia de Java RMI que solo soporta objetos distribuidos escritos en Java. Esto se logra ya que Java IDL está basado en CommonObjectRequestBrokerageArchitecture (CORBA), un estándar para objetos distribuidos. CORBA fue definido y está controlado por el Object Management Group (OMG) que define las APIs, el protocolo de
  • 14. comunicaciones y los mecanismos necesarios para permitir la interoperatividad entre diferentes aplicaciones escritas en diferentes lenguajes y ejecutadas en diferentes plataformas, lo que es fundamental en computación distribuida. Para soportar la interacción entre objetos de programas separados, Java IDL proporciona un ObjectRequestBroker (ORB) que es una biblioteca de clases que permite una comunicación de bajo nivel entre aplicaciones Java IDL y aplicaciones compatibles con CORBA. JAVA BEANS Java Beans es una API implementada para la construcción y uso de componentes escritos en Java, los cuales son comúnmente llamados Beans. Esta API es proporcionada por SUN como una herramienta visual que permite la carga, utilización, modificación, así como también interconexión de Beans, con el propósito de construir nuevos Beans, applets o bien aplicaciones completas. En Java Beans, los métodos implementados en un Bean, especialmente los definidos con el prefijo set o get, son un medio para interactuar con él. Los métodos pueden entenderse como servicios con efectos específicos que el usuario puede invocar en algún momento. Las propiedades son conceptualmente equivalentes a lo que en el software tradicional se conocen como atributos, estos consisten en conjunto de características que un usuario puede leer o modificar haciendo uso de los métodos de acceso.
  • 15. Los eventos son utilizados por el Bean como un medio de comunicación con otros Beans. Un evento se presenta como un cambio de estado que el componente puede notificar a su ambiente. El evento lleva información de quién lo genera, así mismo puede llevar datos y aún objetos que migran de una clase a otra. Son objetos que exponen partes de datos llamados propiedades. Se pueden utilizar los Beans para almacenar datos y recuperarlos posteriormente. LOS COMPONENTES BEANS Son unidades software reutilizables y auto-contenidas que pueden unirse visualmente en componentes compuestos, applets (Componentes de una aplicación), aplicaciones y servlets (son módulos escritos en Java que se utilizan en un servidor), utilizando herramientas visuales de desarrollo de aplicaciones. Una herramienta de desarrollo que soporte JavaBeans, mantiene los Beans en unapaleta o caja de herramientas. Se puede seleccionar un Bean de la paleta, arrastrarlo dentro de un formulario, modificar su apariencia y su comportamiento, definir su interacción con otros Beans, y componer un Applet, una aplicación, o un nuevo Bean, junto con otros Beans. Todo esto se puede hacer sin escribir una línea de código. Fuente: http://repositorio.bib.upct.es/dspace/bitstream/10317/239/1/pfc1740.pdf
  • 16. JAVA FOUNDATION CLASSES (JFC) Y JAVA 2D Los JFC son componentes esenciales para construir entornos gráficos de los programas o guis (Graphical user interfaces). Las clases Java fundamentales (JFC) incluyen las clases de Swing, que definen un conjunto completo de componentes de interfaz gráfica para aplicaciones JFC. Una extensión de la original de Abstract Window Toolkit, el JFC incluye las clases de Swing, mira conectable y sentir diseños, y la API de accesibilidad de Java, que se implementan sin código nativo (código que se refiere a los métodos de un sistema operativo específico o se compila para un procesador específico). Los componentes JFC incluyen ventanas y marcos, paneles y paneles, cuadros de diálogo, menús y barras de herramientas, botones, barras de desplazamiento, cuadros combinados, componentes de texto, tablas, listas y árboles. Fuente: http://dev.cs.uni-magdeburg.de/java/Books/javaDesignGuide/higd.htm ALGUNAS DE LAS CARACTERÍSTICAS MÁS INTERESANTES Cualquier programa que utiliza componentes de Swing puede elegir el aspecto que desea para sus ventanas y elementos gráficos: entorno windows 95/98/nt, entorno motif (asociado a sistemas unix) o metal (aspecto propio de java, común a todas las plataformas). Cualquier componente gráfico de swing presenta más propiedades que el correspondiente elemento del awt: los botones pueden incorporan imágenes, hay nuevos layouts y paneles, menús, posibilidad de drag &
  • 17. drop,es decir de seleccionar componentes con el ratón y arrastrara otro lugar de la pantalla. Fuente: http://es.scribd.com/doc/51830722/201/JAVA-FOUNDATION-CLASSES-JFC- Y-JAVA-2D JAVA 3D La API (Application Program Interface) Java 3D es una interfaz de programación de aplicación utilizada para realizar aplicaciones y applets con gráficos en tres dimensiones. Proporciona a los desarrolladores constructores de alto nivel para crear y manipular geometrías 3D y para construir las estructuras utilizadas en el renderizado de dichas geometrías. Se pueden describir grandes mundos virtuales utilizando estos constructores, que proporcionan a Java 3D la suficiente información como para renderizar dichos mundos de forma eficiente. Java 3D proporciona a los desarrolladores de gráficos 3D la principal característica de Java: “escribe una vez y ejecútalo donde sea”. Java 3D es parte del conjunto de APIs JavaMedia, lo cual hace que esté disponible en un gran número de plataformas. También, se integra correctamente con Internet ya que tanto los applets como las aplicaciones escritas utilizando Java 3D tienen acceso al conjunto completo de clases de Java. LAS CARACTERÍSTICAS DE JAVA 3D Proporcionar un amplio conjunto de utilidades que permitan crear mundos en 3D interesantes. Se evitó incluir características no esenciales u oscuras y tampoco características que se podrían colocar directamente sobre Java 3D. Introducción a Java3D
  • 18. Proporcionar un paradigma de programación orientado a objeto de alto nivel para permitir a los desarrolladores generar sofisticadas aplicaciones y applets de forma rápida. Proporcionar soporte a cargadores en tiempo de ejecución. Esto permite que Java 3D se adapte a un gran número de formatos de ficheros, como pueden ser formatos específicos de distintos fabricantes de CAD, formatos de intercambio o VRML 1.0 (Virtual Reality Modelling Language) y VRML 2.0. Java 3D distribuye la información necesaria para representar objetos y escenas en tres dimensiones en una estructura de grafo. Siguiendo dicha estructura desde el nodo raíz hasta los distintos nodos hoja, se ven las distintas operaciones que se realizan para crear la escena final que se quiere conseguir. Java 3D ni anticipa ni soporta directamente cualquier necesidad posible de 3D. En cambio, proporciona la base necesaria para añadir nuevas funcionalidades utilizando código Java. Las aplicaciones de Java 3D pueden incluir objetos definidos utilizando un sistema de CAD o de animación. Fuente: http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r89548.PDF JAVA MEDIA FRAMEWORK (JMF) Es una definición de la interfaz utilizada por JAVA para la utilización de datos multimedia. Como definición de interfaz, JMF indica como los proveedores de dichas clases deben encapsularlas y registradas en el
  • 19. sistema. Permite a las aplicaciones Java incluir componentes de audio, video, así como capturar, reproducir y decodificar múltiples formatos. JMF realiza tres pasos para el tratamiento de datos multimedia: la adquisición de datos, captura desde un dispositivo físico, lectura de un archivo o recepción desde la red; procesando, aplicación de defectos como filtrado o realces, compresión y/o descompresión, conversión entre formatos; y la salida de datos, presentación, almacenamiento en archivo o trasmisión a través de la red. Fuente: http://books.google.co.ve/books?id=1FpHW487784C&pg=PT49&lpg=PT49&d q=investigacion+sobre++JAVA+MEDIA+FRAMEWORK+(JMF)+pdf&source= bl&ots=BJIwz_6PvS&sig=wBzST4755CnZI8tBEluaSXlcA9w&hl=es&sa=X&ei =xcDPUZfjHoL28wSqxYCYBQ&ved=0CDoQ6AEwAg Java Media Framework (JMF) es una plataforma abierta para desarrollar Aplicaciones Multimedia en Java independientemente de los sistemas operativos y equipos hardwares involucrados. Java Media Framework (JMF) es una Interface de Programación de Aplicaciones versátil (Application Programming Interface, API) que permite: La reproducción de ficheros multimedia (formatos, AVI, MPEG, QuikTime, AVI, WAV, MIDI ..) Reproducción y transmisión de audio y video en tiempo real a través de Internet (utilizando el protocolo RTP/RTCP) Captura de audio y video del hardware disponible y almacenamiento en el formato deseado
  • 20. Difusión a un grupo de usuarios de señales de video/audio. Fuente: http://www.personal.fi.upm.es/~lmengual/articulos/art_18.pdf
  • 21. CONCLUSIÓN La investigación ofrece un nuevo conocimiento a los lectores interesados donde busquen mayor facilidad a la hora de programar o diseñar un sistema de información. Donde a su vez se analizó y se concluyó lo siguiente: Se comprende que lasaplicaciones de JAVA facilita la búsqueda de una información además de múltiples operaciones. Aplicaciones de tipo APPLETS, que también son programas en java que se mandan a una pc remota o lejana, donde esa pc se encarga de correrla o ejecutarla o compilarla y correrla. Beans y Java Beans, tecnologías de tipo servlet pero que están especializadas principalmente en mantener enlaces constantes a bases de datos de cualquier marca (access, oracle, mysql, etc), esto permite que una serie de varios programas o aplicaciones a la vez estén interactuando con el mismo java bean y por consiguiente con la base de datos.
  • 22. REFERENCIA ELECTRÓNICAS Introducción de servicios de seguridad en un sistema de Audioconferencia implementado con Java Media Framework [Documento en línea] Disponible en: http://www.personal.fi.upm.es/~lmengual/articulos/art_18.pdf (Consultado el día 29/06/2013) Tekhne Revista De La Facultad De Ingeniería [Documento en línea] Disponible en: http://books.google.co.ve/books?id=1FpHW487784C&pg=PT49&lpg=P T49&dq=investigacion+sobre++JAVA+MEDIA+FRAMEWORK+(JMF)+ pdf&source=bl&ots=BJIwz_6PvS&sig=wBzST4755CnZI8tBEluaSXlcA 9w&hl=es&sa=X&ei=xcDPUZfjHoL28wSqxYCYBQ&ved=0CDoQ6AEw Ag (Consultado el día 29/06/2013) Introducción a Java3D [Documento en línea] Disponible en: http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r89548.PD F (Consultada el día 29/06/2013) Las clases fundamentales de Java [Documento en línea] Disponible en: http://dev.cs.uni-magdeburg.de/java/Books/javaDesignGuide/higd.htm (Consultada el día 29/06/2013)

×