Programación Java (SL-275-SE6) Objetivo Las personas que realicen el curso aprenderán a: Crear aplicaciones Java que aprovechen funciones de programación orientada a objetos de Java, como encapsulación, herencia y polimorfismo. Ejecutar una aplicación Java desde la línea de comandos. Usar tipos de datos y expresiones de Java. Usar las construcciones de control de flujo de Java. Usar matrices y otros grupos de datos. Implementar técnicas de gestión de errores utilizando el manejo de excepciones. Crear una interfaz gráfica controlada por eventos utilizando componentes de interfaz de Java: paneles, botones, etiquetas, campos de texto y cuadros de texto. Implementar la funcionalidad de E/S para leer y escribir datos y archivos de texto y comprender secuencias E/S avanzadas. Crear un cliente TCP/IP sencillo que se comunique con un servidor mediante sockets. Crear programas multisubproceso. Descripción En el curso Programación Java se enseña la sintaxis de Java, la programación orientada a objetos utilizando el lenguaje Java, la creación de interfaces gráficas, el modelo de excepciones, los mecanismos de entrada y salida, los threads y la programación en red. Los programadores familiarizados con los conceptos de la programación orientada a objetos pueden aprender a desarrollar aplicaciones Java. En el curso se utiliza Java Standard Edition 6 (Java SE 6) y Java SE Development Kit 6 (JDK 6). Los ejercicios prácticos del curso se realizan con el entorno de desarrollo integrado (IDE) NetBeans 5.5. A quién va dirigido Este curso es indicado para programadores interesados en añadir el lenguaje Java a su lista de conocimientos y personas que se estén preparando para el examen de Programador Certificado en Plataforma Java. Pre-requisitos Para obtener el máximo aprovechamiento del curso, los alumnos deben: Ser competente en la creación de programas con cualquier lenguaje o haber seguido el curso SL-110-SE6: Programación Java para no Programadores. Saber crear y modificar archivos de texto con un editor de textos. Cursos relacionados Cursos relacionados (Antes) SL-110-SE6: Programación Java para no Programadores (SL-110-SE6) Cursos relacionados (Después) FJ-310-EE5: Desarrollo de Aplicaciones Java EE (FJ-310-EE5) OO-226: Análisis y Diseño OO con UML (OO-226) SL-285: Java Programming Language Workshop (SL-285) SL-314-EE5: Desarrollo de Componentes Web con Servlets y JSP (SL-314-EE5) SL-351-EE5: Desarrollo de Componentes de Negocio con Tecnología EJB (SL-351-EE5) Contenido Ejecutar la primera aplicación Java. Examinar el JDK. Analizar una aplicación Java sencilla. Ejecutar una aplicación Java. Modelar un proceso de características reales con una aplicación Java. Separar por componentes una aplicación Java. Examinar los conceptos relacionados con la creación, las referencias y el uso de objetos. Crear un objeto y declarar una referencia a un tipo de objeto. Crear una clase: sintaxis de campos y constructores. Crear una instrucción de clase. Declarar e inicializar campos: usando valores predeterminados, valores explícitos y constructores. Examinar el diseño y los paquetes de directorios Crear una clase: sintaxis de métodos. Examinar la interfaz y el cuerpo de método. Utilizar expresiones aritméticas y lógicas sencillas. Crear instrucciones, incluidas de bifurcación y de bucle. Utilizar técnicas de diseño de método avanzadas para: Sobrecarga de método Pass-by-Value La referencia this Crear una clase: encapsulación Examinar el concepto de encapsulación. Implementar la encapsulación en Java. Utilizar la palabra clave static. Crear matrices. Declarar y crear matrices de primitivas, clases o tipos de matrices. Explicar por qué se inicializan los elementos de una matriz. Explicar cómo se inicializan los elementos de una matriz. Determinar el número de elementos de una matriz. Crear una matriz multidimensional. Crear una subclase utilizando herencia. Examinar el concepto de herencia. Implementar herencia en Java. Anular métodos de la clase de objeto. Crear polimorfismo mediante subclases. Utilizar el operador instanceof. Convertir objetos. Utilizar la palabra clave final. Manejo de errores con clases de excepción y afirmaciones. Definir las excepciones. Manejo de excepciones con las cláusulas try, catch y finally. Describir las categorías de excepciones. Identificar las excepciones comunes. Desarrollar programas que gestionen excepciones. Utilizar afirmaciones. Distinguir entre el uso adecuado e inadecuado de las afirmaciones. Activar las afirmaciones durante el tiempo de ejecución. Declarar y utilizar tipos de clases especializadas. Crear clases y métodos abstractos. Declarar y utilizar interfaces. Declarar y utilizar clases anidadas. Utilizar tipos enumerados. Uso de colecciones genéricas y de la estructura de colecciones Crear programas con conjuntos, listas y asignaciones. Crear órdenes naturales y personalizadas mediante la implementación de las interfaces Comparable y Comparator. Utilizar colecciones genéricas. Examinar tipos de parámetros comodín. Escribir un programa para iterar en una colección. Transferir datos utilizando secuencias y lectores E/S. Escribir un programa que utilice los argumentos de la línea de comandos y las propiedades del sistema. Construir secuencias de proceso de nodos. Serializar y deserializar objetos. Ejecutar E/S de consola y de archivos. Escribir un programa que lea la entrada estándar. Describir entrada y salida con formato. Leer y escribir en archivo. Implementar aplicaciones multicapa en red. Desarrollar código para configurar la conexión de red. Utilizar las clases ServerSocket y Socket para implementar clientes y servidores TCP/IP. Describir el URL y las clases URLConnection. Implementar aplicaciones multihilo. Definir un thread (subproceso). Crear threads separados en un programa Java, y controlar el código y los datos que utiliza ese thread. Utilizar wait y notify para la comunicación entre threads. Utilizar synchronized para evitar que los datos resulten dañados. Creación de interfaces Java con Swing API Describir la tecnología JFC Swing. Describir los componentes de interfaz gráfica: contenedores, componentes y los administradores de disposición. Describir el modelo single threaded de Swing. Crear una interfaz gráfica utilizando componentes Swing. Manejo de eventos generados por GUI. Definir los eventos y el manejo de eventos. Escribir código para manejar eventos que ocurren en la interfaz gráfica. Describir el concepto de clases de adaptador, lo que incluye cómo y cuándo usarlas. Determinar la acción del usuario que originó el evento a partir de los detalles del objeto de evento. Identificar la interfaz de receptor apropiada para una serie de tipos de eventos. Crear los métodos de controlador de eventos adecuados para una serie de tipos de eventos. Utilizar clases internas y anónimas en el manejo de eventos. Explicar el thread Swing Worker y su efecto en el rendimiento de GUI.