Introducción a Java (2)

Documentos relacionados
Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Tema 4. Excepciones en Java

Excepciones. Gonzalo Méndez - Dpto. Ingeniería de Software e Inteligencia Artificial. Excepciones

Tema 4: Corrección y Robustez en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Curso de Java POO: Programación orientada a objetos

2. Estructura de un programa en Java

Tema 14: Excepciones

- Compilar y ejecutar programas en Java - Estructura básica de una clase - El comando javac - El comando java - Introducción al IDE de desarrollo

EXCEPCIONES EN JAVA. Las sentencias que tratan las excepciones son try y catch. La sintaxis es:

Primera Escuela de la Red Temática SVO. Madrid, Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA raul@laeff.inta.

Introducción a Java LSUB. 30 de enero de 2013 GSYC

Un breve resumen del lenguaje Java

16. Herencia Definición de herencia. 168 A. García-Beltrán y J.M. Arranz

Programación orientada a objetos. Capítulo 8 Mejora de las estructuras mediante herencia

Programación orientada a objetos. Resumen de Temas Unidad 6: Polimorfismo y reutilización

Repaso de las características más importantes de la programación Java y su adaptación a Android

ENTORNO DE TRABAJO E INTRODUCCIÓN A JAVA - ANEXO Versión: 1.0.1

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C)

TEMA 5. EXCEPCIONES EN JAVA DEFINICIÓN DE EXCEPCIONES EN PROGRAMACIÓN TIPOS DE EXCEPCIONES / ERRORES Y CÓMO TRATARLOS

Anexo. Control de errores

INTRODUCCION A LA PROGRAMACION EN JAVA

Manejo de Errores Ejercicio Facturas

INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA

API de java. ( Guía de alumno Laboratorio 9. Recursos disponibles en moodle para este día.

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Tema 2. El lenguaje de programación Java (Parte 1)

INDICE Prefacio 1. Fundamentos de Java 2. Introducción a los tipos de datos y operadores

Práctica sobre compartición de instancias remotas.

Java: control de excepciones

Programación Orientada a Objetos. Java: Excepciones

Tema 1. Conceptos de Java para Estructuras de Datos: interfaces y programación genérica

Java: control de excepciones

Uso de excepciones en Java

Java para programadores objetosos. por Leo Gassman

Javadoc con NetBeans

Programación Orientada a Objetos. Java: Excepciones

JAVA -INTRODUCCIÓN AL LENGUAJE

Universidad ORT - Arquitectura de Software. Requisitos

CONCEPTOS BASICOS DEL LENGUAJE JAVA

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas

TÉCNICAS DE PROGRAMACIÓN Lenguaje Java

INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B)

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

Generar Temas de Colores y Cambiarlos Dinámicamente en ZK

Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez

Tema 2 Introducción a la Programación en C.

Tutorial Envio de correos con Java Mail

CAPITULO 3 ARQUITECTURA DE COMPONENTES GIS EN INTERNET

Componentes Distribuidos EJBs. Ing. Cesar Julio Bustacara Medina

MASTER PROFESIONAL C# 5 Y ASP.NET MVC 5

Tutorial básico del entorno de desarrollo Eclipse.

Forma Básica Clase Java

Java en 2 horas. Rodrigo Santamaría

Solución al Examen de Prácticas de Programación (Ingeniería Informática)

LINEAMIENTO PARA DESARROLLO DE APLICATIVOS EN C#

TUTORIAL CONEXIÓN SQLSERVER CON JAVA DESDE ECLIPSE

Programación Orientada a Objetos (POO)

1. Aplicaciones del J2SE SDK1.4.2 de Sun.

INDICE Capitulo 1. Fundamentos de Java Capitulo 2. Clases y POO

Aviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported

Laboratorio de Arquitectura de Redes. Punteros en lenguaje C

Principios de Computadoras II

Conversión entre Tipos

1.2. Es Java un lenguaje ideal para aprender a programar? 1.4. Cuáles son las versiones y distribuciones Java y cuál usar?

Objetos y Clases en Java. ELO 329: Diseño y Programación Orientados a Objetos

Introducción a Java LSUB. 15 de enero de 2015 GSYC

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Principios de Computadoras II

Orientación a Objetos en Java

Ingeniería del Software Arquitectura Física en 3 niveles

GUÍA DE ESTILO EN JAVA

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Nombran variables, funciones, clases y objetos

Ficha de Aprendizaje N 13

Técnicas Avanzadas de Testing Automatizado

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

1. Generación automática de documentación (javadoc)

Carmen. Estándares de codificación. Manuel Arias Calleja

Introducción a Swing. Taller de Programación 2016

JAVA RMI (REMOTE METHOD INVOCATION)

Introducción a la herramienta de desarrollo Eclipse

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría

1. Sobrecarga de operadores. 2. Métodos operadores unarios Operador de incremento (prefijo)

Prácticas de Programación

C.I.F.: B Inscrita en el Registro Mercantil de Madrid, Tomo Libro 0, Folio 135, Sección 8. Hoja M Inscripción 1ª

Programación Orientada a Objetos. Sesión 4: Herencia

Ficheros y streams. Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream].

Transcripción:

Introducción a Java (2) 1 Humberto Cervantes Maceda Alfonso Martínez Martínez Marzo 2005

Indice Conceptos adicionales Java La clase Object Manejo de excepciones Buenas practicas de desarrollo Utilizar convenciones de nombrado Escribir documentación Usar siempre un package e importar sólo los necesarios Estructurar bien los proyectos 2

3 Conceptos adicionales de Java

La clase Object Clase a la raíz de la jerarquía de herencia Toda clase hereda de Object Ventajas de una clase de base Una variable de tipo Object puede almacenar una referencia hacia cualquier objeto Ej: colecciones 4 La clase Object provee varios métodos útiles clone equals finalize getclass tostring

Métodos de la clase Object clone Crea un duplicado del objeto equals Prueba si dos objetos son iguales finalize Llamado en el momento en que el objeto es colectado por el colector de basura getclass Obtiene una referencia a la clase del objeto tostring Convierte el objeto en cadena 5

Manejo de excepciones Qué es? Mecanismo diseñado para manejar errores de ejecución u otros problemas dentro de un programa Estado actual se salva, y el la ejecución es retomada por un manejador (que cacha la excepción) En Java, las excepciones están representadas por clases y en ejecución por instancias de estas java.lang.throwable Superclase de todos los errores y excepciones java.lang.error: condición anormal que no debe ser cachada java.lang.exception: condición anormal que es razonable manejar 6

Manejo de excepciones void minusculas(string a) { try { a.tolower(); } catch(nullpointerexception ex) { System.out.println( a es nulo! ); ex.printstacktrace(); } } 7

Lectura de excepciones Interpretación de salida Una excepción contiene una fotografía de la pila de ejecución al momento en que ocurre También contiene un mensaje ex.printstacktrace() muestra la imagen de la pila Es necesario saber interpretar estas salidas para entender los problemas del programa Ejemplo java.lang.nullpointerexception at Prueba.minusculas(Prueba.java:13) at Prueba.main(Prueba.java:6) 8

Generación de excepciones Es posible crear nuestras propias clases de excepciones Si generamos una excepción dentro de un método, se debe declarar que el método 'lanza' la excepción throws Se puede relanzar una excepción que se cachó. 9 Excepciones checadas vs. no checadas Si nuestra excepción es subclase de RuntimeException, el método no necesita declarar que la lanza Ej: NullPointerException

Manejo de excepciones 10 void minusculas(string a) throws Exception { try { a.tolower();... más código... } catch(nullpointerexception ex) { System.out.println( a es nulo! ); } catch(exception ex) { System.out.println( hubo excepcion que no se puede manejar! ); throw ex; } }

Ventajas de excepciones Separación de lógica aplicativa y manejo de errores Manejo de errores también está separado según tipo de error Propagación de errores Permite a distintas entidades encargarse antes de que la aplicación falle por completo 11

12 Buenas practicas de desarrollo

Buenas practicas de desarrollo Por qué? Es importante seguir buenas practicas de desarrollo desde el principio, por que facilitan el mantenimiento y la comprensión del código por otras personas Cuesta un poco más de trabajo al principio pero es más trabajo mantener un proyecto sin convenciones! Practicas que vamos a ver Utilizar convenciones de nombrado Escribir documentación Usar sólo los imports necesarios Estructurar bien los proyectos 13

Convenciones de nombrado Las que vimos ayer Clases: empiezan siempre con mayuscula MiClase Packages: siempre con minúsculas y nombre de organización al revés mx.uam.cursojava Métodos: empiezan siempre con minuscula mimetodo Atributos: conviene usar una convención que diferencie atributos de clase m_nombre 14

Escribir documentación Es muy importante documentar las clases 15 Distintos tipos de comentario Javadoc /** Nombre @param */ Comentario multi-línea /* Aquí va mi comentario */ Comentario sobre una línea // Comentario

Packages Usar siempre un package Aunque Java lo permite, nunca se deben hacer clases sin espacios de nombres Importar sólo lo necesario Java permite importar todas las clases de un package import javax.swing.* No es recomendable hacerlo, ya que dos packages pueden contener una clase con el mismo nombre 16

Estructuración de proyecto Directorios de base src fuentes build en donde se ponen los archivos compilados bin binarios, scripts dist lo que se va a distribuir (ej. archivos Jar) doc documentación lib librerías 17

Síntesis Hoy vimos Conceptos adicionales Java Buenas practicas de desarrollo La buena noticia En la próxima sesión vamos a ver Eclipse que simplifica mucho el seguimiento de estas prácticas 18