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



Documentos relacionados
Curso de Java POO: Programación orientada a objetos

POLIMORFISMO "una interfaz, múltiples métodos".

2.2.- Paradigmas de la POO

Programación Orientada a Objetos en Java

Universidad de Cantabria

DEPARTAMENTO: Informática. MATERIA: Programación. NIVEL: 1º Desarrollo de Aplicaciones Multiplataforma

Tema 3: Genericidad en Java. Tema 3: Genericidad en Java. Objetivos y Bibliografía. Modelos de Datos Genéricos

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas

Programación Orientada a Objetos con Java

Java Inicial (20 horas)

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

Tema 1. Introducción a JAVA

19. Packages o paquetes

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso Cuatrimestre de otoño. 17 de Enero de 2011

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA

Analizar, diseñar, desarrollar e implementar soluciones orientadas a objetos utilizando encapsulamiento, herencia, polimorfismo y archivos.

UNIVERSIDAD NACIONAL DE INGENIERÍA CENTRO DE EXTENSIÓN Y PROYECCIÓN SOCIAL

FORMACIÓN Principios de la programación orientada a objetos

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS

Uso de excepciones en Java

Temario Detallado Curso Java Verano Online

TEMA 8: DIAGRAMA DE CLASE EN UML

INSTITUTO POLITÉCNICO NACIONAL

DIAGRAMA DE CLASES EN UML

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

MODULO DE PROGRAMACION JAVA Nivel Básico-Intermedio

Diagrama de Clases. Diagrama de Clases

Temario Iniciación a Java J2SE para web

TEMA 1.-Programación orientada a objetos (POO) Objetivo

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

UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS

Patrones de diseño. Patrón básico Handler. Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez)

GESTIÓN DE REDES PARTE III

Programación Orientada a Objetos

Tema 1. Introducción a los TAD

Curso Programación Orientada a Objectos con C# y Visual Studio 2010

Diseño orientado a los objetos

M III ABSTRACCIÓN Y CLASIFICACIÓN

Programación orientada a objetos

CARRERA: LICENCIATURA EN INFORMATICA

Programación Orientada a Objetos. Java: Excepciones

Índice.


Fundamentos del diseño 3ª edición (2002)

.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas...

PROGRAMA DE MATERIA SOFTWARE DE BASE Y PROGRAMACION DE SISTEMAS SOFTWARE DE BASE Y PROGRAMACION DE SISTEMAS

Introducción a la Programación Orientada a Objetos (POO) Introducción a la Programación Orientada a Objetos (POO)

Programación en Java. Programación en OO

2.2 Política y objetivos de prevención de riesgos laborales de una organización

Lenguajes de Programación Curso Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces Clases abstractas 2

class Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida }

JAVA. 40 horas 60 días

Fundamentos de Programación Orientada a Objetos ( POO ) - Parte 3 Desarrollo de Software

Tutorial de UML. Introducción: Objetivos: Audiencia: Contenidos:

Relaciones entre clases: Diagramas de clases UML

CURSO DE ESPECIALISTA EN DESARROLLO DE APLICACIONES WEB

Java en 2 horas. Rodrigo Santamaría

Orientación a Objetos en Java

Tema 2. Técnicas básicas de POO. Técnicas de Programación - Curso 2007/08

BASE DE DATOS: ENFOQUE ORIENTADO A OBJETOS. Dámaso López Aragón

Contenido. Prólogo... Capítulo 1. Algoritmos y estructuras de datos Introducción... 24

SAX Parser. Ing. Augusto Dobeslao Herández López (Bases de Datos en XML)

Programación páginas web. Servidor (PHP)

Asignaturas antecedentes y subsecuentes Programación III, Programación V

Cursos PROGRAMACIÓN DE APLICACIONES CON JAVA

Diplomado Java. Descripción. Objetivo. A quien está dirigido. Requisitos. Beneficios

CURSO DE PROGRAMACIÓN EN JAVA J2EE 7 ÍNDICE

JAVA SE STANDARD EDITION

Patrones de software y refactorización de código

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

Programación Orientada a Objetos. Java: Excepciones

Diagramas de Clase en UML 1.1

PROGRAMACIÓN CON LENGUAJE JAVA Y ORIENTACIÓN A OBJETOS

IWG-101: Introducción a la Ingeniería. Departamento de Informática, UTFSM 1

CURSO INTERMEDIO DE PROGRAMACIÓN EN ANDROID

JAVA 8 Los fundamentos del lenguaje Java (con ejercicios prácticos corregidos)

Configuración de Software

Definición de clases: Herencia, polimorfismo, ligadura dinámica

CAPITULO 3 REDES HIBRIDAS-COMPLEJAS. 3.1 Descripción de la Red Híbrida Compleja (HCNN)

Ingeniería de Software

PLAN FORMATIVO MODALIDAD I

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

Asignaturas antecedentes y subsecuentes

FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIMEDIA DAM 350 HORAS

Métricas. Valentin Laime. Calidad de Software

Clases abstractas e interfaces

Patrones de Diseño Orientados a Objetos 2 Parte

PROGRAMADOR VISUAL BASIC.NET

Técnicas Avanzadas de Testing Automatizado

JavaScript como Orientación a Objetos

Introducción a Protégé

Notación UML para modelado Orientado a Objetos

Transcripción:

Tema 1. Conceptos de Java para Estructuras de Datos: interfaces y programación genérica Duración: 3 semanas aprox. Índice General: 1. Clases y objetos en Java: el modelo TIENE UN(A) 2. El principio POO de la Herencia y su soporte Java: el modelo ES UN(A) 3. El principio POO del Polimorfismo en Java 4. Más Herencia en Java: métodos y clases finales y abstractos 5. Herencia múltiple e interfaces Java: el interfaz Comparable 6. Programación genérica a partir de la Herencia 7. Modelización Java de la Jerarquía de Errores y Excepciones EDA. Curso 2004/2005. I. Galiano y N.Prieto 1

OBJETIVOS Insistir en los conceptos básicos de la POO y cómo son soportados por el lenguaje Java; i.e. preconizar el diseño orientado a los datos para conseguir un Software de calidad Profundizar en el concepto de Herencia en Java (con la sintaxis pertinente) para afrontar el desarrollo de estructuras de datos y algoritmos que se realiza en temas posteriores Alcanzar estos objetivos supone: - Avanzar en la descripción del propio lenguaje - Señalar el concepto de Polimorfismo y sus ventajas - Profundizar en el uso de clases Envoltorio, armonizando el diseño orientado a objetos con la existencia de tipos primitivos - Iniciar el desarrollo de librerías y excepciones propias EDA. Curso 2004/2005. I. Galiano y N.Prieto 2

1.-Clases y objetos en Java: el modelo TIENE UN(A): en este apartado se realiza una revisión de los conceptos de Clase y Objeto en Java estudiados en PRG. En particular, se incidirá en los siguientes aspectos: - Componentes de una Clase Java: atributos y métodos; sus tipos y visibilidad; el modelo TIENE UN(A); la referencia this - Objetos de una Clase Java y su manipulación - Organización de Clases relacionadas: Paquetes Java y reglas de visibilidad dentro y fuera de un Paquete Ejemplos: diseño de la clase Circulo y uso de uno ómás Objetos de dicha Clase; diseño de la clase GrupoDeCirculos EDA. Curso 2004/2005. I. Galiano y N.Prieto 3

2.-El principio POO de la Herencia y su soporte Java: el modelo ES UN(A): en este apartado se realiza la Introducción al concepto de Herencia: por qué es necesaria, qué modela y cómo lo soporta Java. En particular, se incidirá en los siguientes aspectos: - Características y sintaxis de la Herencia en Java - La clase Object y el modelo de jerarquía de Clases Java - Extensión del comportamiento de una clase vía Herencia: características de una clase derivada (el modificador de visibilidad protected, constructores de la derivada, super VS this y sobre-escritura) Ejemplos: diseño de la clase Figura y reformulación de Circulo para que sea una de sus derivadas. Diseño de la clase GrupoFiguras EDA. Curso 2004/2005. I. Galiano y N.Prieto 4

3.-El principio POO del Polimorfismo en Java: en este apartado se introduce el concepto de Polimorfismo que deriva de la Herencia y sus ventajas. En particular, se incidirá en los siguientes aspectos: - Variables Polimórficas - Diferencias entre Referencia y Objeto - Tipo estático y Tipo dinámico de una variable - Comprobación de tipos: operador instanceof - Enlace Dinámico Ejemplos: ampliación de la clase GrupoFiguras EDA. Curso 2004/2005. I. Galiano y N.Prieto 5

4.-Más Herencia en Java: métodos y clases finales y abstractos en este apartado se presentan dos mecanismos para potenciar la Herencia, bien evitando la sobre-escritura (clases y métodos finales), bien compaginándola (clases y métodos abstractos). Para cada uno de ellos se introduce la necesidad de su uso y las ventajas e inconvenientes que aporta Ejemplos: - las clases Envoltorio estándar de Java; - la clase abstracta estándar de Java Number y sus clases Envoltorio derivadas; - reformulación de Figura como clase abstracta y uso de GrupoFiguras para manejar Figura s abstractas. EDA. Curso 2004/2005. I. Galiano y N.Prieto 6

5.-Herencia múltiple e interfaces Java: interfaz Comparable: en este apartado se introducen las clases interfaz Java como soporte de la Herencia Múltiple. Se estudia la definición (especificación) e implementación de una interfaz y se presenta como ejemplo el interfaz estándar de Java Comparable Ejemplos: - diseño de un método de ordenación de objetos Integer; - diseño de un método de ordenación de un GrupoFiguras. EDA. Curso 2004/2005. I. Galiano y N.Prieto 7

6.-Programación genérica a partir de la Herencia: en este apartado se introduce el concepto de genericidad y su soporte Java: la jerarquía de Herencia con raíz en Object y el mecanismo de casting para instanciar clases genéricas. En particular, se tratará el problema de la ordenación genérica. Ejemplos: - diseño de la clase genérica Ordenacion; - ordenación de Integer utilizando la clase Ordenacion y reformulando el método existente; - ordenación de un GrupoFiguras utilizando la clase Ordenacion y reformulando el método existente. EDA. Curso 2004/2005. I. Galiano y N.Prieto 8

7.-Modelización Java de la Jerarquía de Errores y Excepciones: en este apartado se estudia el tratamiento que se da en Java a los errores que se producen al programar. En particular, se tratarán los siguientes aspectos: - Errores como Objetos Trowable del package java.lang - Las sub-clases de Trowable: Error y Exception. Las sub-clases de Exception más importantes: RuntimeException, IOException, etc. - Lanzamiento y Propagación de Excepciones: excepciones capturadas (checked) y no capturadas (unchecked); cláusulas throw y throws - Captura de Excepciones: instrucción try-catch-finally - Excepciones de usuario como sub-clases de Exception Ejemplos: reformulación del tratamiento de errores realizado en Figura y GrupoFiguras EDA. Curso 2004/2005. I. Galiano y N.Prieto 9