71 Programación Orientada a ObjetosMC Beatriz Beltrán Martínez Primavera 2015
72 Historia La tecnología Java se creó como una herramienta de programación para ser usada en un proyecto de set-top-box en una pequeña operación denominada «the Green Project» en Sun Microsystems en el año 1991. El lenguaje se denominó inicialmente Oak (por un roble que había 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 gráficas y finalmente se renombró a Java. El término Java fue acuñado en una cafetería frecuentada por algunos de los miembros del equipo. FCC - BUAP Primavera 2015 BBM
73 file.java //en UNIX, Windows, LinuxPreliminares Todo programa en lenguaje JAVA debe tener la siguiente extensión: file.java //en UNIX, Windows, Linux Comentarios en JAVA /* Este es un comentario */ /* Este también es un comentario multilíneas */ // comentario unilineal FCC - BUAP Primavera 2015 BBM
74 Programa Principal Todas las aplicaciones deben tener un main.public static void main(String args[]) es la forma de definir. Las llaves { } denotan el cuerpo del programa. Toda declaración termina con un punto y coma (“;”). La sintaxis es muy parecida a la del lenguaje C. FCC - BUAP Primavera 2015 BBM
75 JAVA Es un lenguaje simple, orientado a objetos, distribuido, interpretado, robusto, seguro, de arquitectura neutra, portable, de alto desempeño, de hilos múltiples y dinámico. Es un lenguaje de programación orientado a objetos. Como los programas de Java se compilan en un formato de bytecode (código de bytes) de arquitectura neutral, una aplicación de Java se puede ejecutar en cualquier sistema, siempre y cuando dicho sistema instrumente la máquina virtual de Java. FCC - BUAP Primavera 2015 BBM Hilo que es?
76 Características El compilador no compila para la plataforma de origen, sino para una plataforma abstracta llamada máquina virtual de Java, o JVM-Java Virtual Machine. Características: Lenguaje Distribuido. Robusto y confiable. Carencia de apuntadores. Seguro. De hilos múltiples. FCC - BUAP Primavera 2015 BBM
77 Características Simplicidad. Java no posee aritmética de punteros.No se necesita hacer delete. No hay herencia múltiple. Independiente de Plataforma. La independencia de la plataforma es la capacidad del programa de trasladarse con facilidad de un sistema computacional a otro. A nivel de código fuente, los tipos primitivos de datos Java, tiene tamaños consistentes, en todas las plataformas de desarrollo. Los archivos binario Java, se encuentran en una forma llamada bytecode. FCC - BUAP Primavera 2015 BBM
78 Características Intérprete JAVA Compilador JAVA Código JAVA ByteCodeFCC - BUAP Primavera 2015 Pentium Power PC SPARC Código JAVA Compilador JAVA ByteCode JAVA Intérprete JAVA BBM
79 Características Seguridad.La seguridad es un aspecto importante en Java, el visualizador baja el código de toda la red y lo ejecuta en el anfitrión del usuario. El propio lenguaje Java incluye restricciones cerradas de acceso a memoria. Una rutina de verificación de códigos de byte en el intérprete de Java verifica que los códigos de byte (Bytecodes) no violen ninguna construcción del lenguaje. FCC - BUAP Primavera 2015 BBM Una verificación del nombre de la clase y de las restricciones de acceso sobre la carga. Al nivel de acceso del archivo, si un código de byte intenta el acceso a un archivo para el que no tiene permiso, aparecerá una caja de diálogo para permitir que el usuario continúe o detenga la ejecución. Al nivel de red, se tendrán opciones para emplear codificación de clave pública y otras técnicas de encriptación para verificar la fuente del código y su integridad
80 Características Flexibilidad.Java combina flexibilidad, robustez y legibilidad gracias a una mezcla de chequeo de tipos durante la compilación y durante la ejecución. En Java se pueden tener punteros a objetos de un tipo específico y también se pueden tener apuntadores a objetos de cualquier tipo. El programador usa entonces apuntadores de tipo específico en la mayoría de los casos con el fin de ganar legibilidad y en unos pocos casos usa apuntadores a tipos desconocidos cuando necesita tener flexibilidad. FCC - BUAP Primavera 2015 BBM
81 Características Administración automática de memoria.En Java los programadores no necesitan preocuparse de liberar un trozo de memoria cuando ya no lo necesitan. Es el recolector de basuras el que determina cuando se puede liberar la memoria ocupada por un objeto. El impacto que un recolector de basura en el tiempo de desarrollo y en la confiabilidad del software resultante es muchos más importante que la pérdida en eficiencia. FCC - BUAP Primavera 2015 BBM
82 Hola Mundo Una aplicación es un programa convencional que se invoca desde el intérprete de comandos. Este programa se carga directamente desde el disco y no de la red Internet. Crear un archivo llamado Hello1.java con: // La aplicación Hello World! public class Hello1 { public static void main (String args[]) { System.out.println("Hello World!"); } FCC - BUAP Primavera 2015 BBM
83 Hola Mundo Un applet es un programa que anima una porción de una página Web. Se recupera a partir de la red y corre en la máquina del usuario, pero con muchas restricciones. Crear el programa fuente Hello2.java con: import java.awt.Graphics; import java.applet.Applet; public class Hello2 extends Applet { public void paint(Graphics g) { g.drawString("Hello world!", 50, 25); } FCC - BUAP Primavera 2015 BBM
84 Hola Mundo Crear la página Hello.html con el siguiente contenido: Este es un applet: