Rosalía Laza Fidalgo Reyes Pavón Rial Curso

Slides:



Advertisements
Presentaciones similares
ESTRUCTURA DE DATOS Unidad 01 Conceptos Previos.
Advertisements

Curso de java básico (scjp)
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
Curso de Java Capitulo 7: Continuación Poo Profesor:
POLIMORFISMO UNIDAD 4.
EXCEPCIONES UNIDAD 5.
Programación Interactiva Fundamentos de Java. 2 Ejecución de un programa Para Java una clase ejecutable es aquella que es pública y tiene un método main()
Herencia en C#.
Lenguaje de programación Java
Clases Extendidas La clase extendida hereda los campos y métodos de la clase de la cual extiende. La clase original se conoce como superclase y la clase.
Arquitectura CLARO-TECNOTREE
Polimorfismo Unidad 4.
Introducción Abdelahad, Corina Natalia Abdelahad, Yanina Zoraida
Arquitectura CLARO-TECNOTREE CAPITULO 4: Excepciones
Capitulo 4 Excepciones.
Herencia y Polimorfismo
UNIVERSIDAD LATINA (UNILA) ENCAPSULACION Y HERENCIA
Aplicación del paradigma orientado a objetos
Diseño y programación de
Encapsulamiento y Abstracción
Programación Orientada a Objetos en Java
Archivos Contenido: Archivos de Texto Archivos de Acceso Aleatorio
HERENCIA.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Introducción a la Programación Orientada a Objetos Redefinición y Sobrecarga Dada la siguiente jerarquía de clases: Alfa Delta Beta.
Herencia e Interfaces.
Medio de tele-comunicación
Modificadores.
Herencia y Polimorfismo en JAVA
Polimorfismo Lenguajes de Programación II Corporación Universitaria del Caribe CECAR.
Lic. Rosemary Torrico Bascopé
INSTITUTO TECNOLOGICO DE TEHUACAN Ingeniería en sistemas computacionales Curso de apoyo a la titulación EXCEPCIONES EN JAVA Diciembre de 2008.
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Creación de Aplicaciones
Tema 6: Clases Antonio J. Sierra.
Tema 10: Interfaces Antonio J. Sierra.
6. Herencia. Clases abstractas. Genericidad
Variables polimórficas (plantillas): definición, uso y aplicación
Técnicas avanzadas de programación Interfaces
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
Suponiendo que además en la clase U hay: import java.util.*; class U{ static Scanner teclado = new Scanner(System.in); static public int readInt(String.
Jerarquía de Clases: Herencia, Composición y Polimorfismo
7. Interfaces Herencia múltiple Interfaces Comparable y Comparator
Capitulo # 4 herencia PROGRAMACION III UNIVERSIDAD
Tema 11: Excepciones Antonio J. Sierra.
Patrones Creacionales
Introducción a Java (2ª parte) - excepciones, colecciones, i/o, … -
Diplomado Desarrollo de Aplicaciones en Internet
Programación Orientada a Objetos
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
Programación avanzada en Java Miguel Ángel Corella 23 de Septiembre de 2005.
FACULTAD DE ESTUDIOS SUPERIORES ARAGON
UNIDAD VI Recursos esenciales de Java LSC. Natalia Rodríguez Castellón.
Metodología de Programación Ayudantía 5 lelagos.ublog.cl 2009.
Informatica II1 Clases Extendidas La clase extendida hereda los campos y métodos de la clase que ha sido extendida. La clase original se conoce como superclase.
Herencia. Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente, estamos re-usando.
Unidad 2.1: INTRODUCCIÓN A LA ORIENTACIÓN A OBJETOS.
Detalles Generales sobre Java
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
INSTITUTO TECNOLOGICO DE TEHUACAN Ingeniería en sistemas computacionales Curso de apoyo a la titulación CLASES DE JAVA Diciembre de 2008.
Clases “ Es una Abstracción de un elemento del mundo real ”
Herencias Conceptos básicos i
Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 4 Versión Diseño de tipos Igualdad, representación, código,
RELACIONES ENTRE CLASES M.C. YOLANDA MOYAO MARTINEZ.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Concepto de Tipo y Subtipo Diseño e Implementación Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 10 Versión.
Programación I Clases. Paradigma POO La programación Orientada a objetos (POO) es una forma programar, más cercana a como expresaríamos las cosas en la.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Transcripción de la presentación:

Rosalía Laza Fidalgo Reyes Pavón Rial Curso 2008-2009 Prácticas A.E.D.I. Rosalía Laza Fidalgo Reyes Pavón Rial Curso 2008-2009

Índice Introducción Herencia Interfaces Genéricos Excepciones Curso 2008/2009

●Introducción ● Herencia ● Interfaces ● Genéricos ● Excepciones Clase Java: es un tipo definido por el usuario que describe los atributos y los métodos de los objetos que se crearán a partir de la misma. Atributos: Definen el estado de un determinado objeto. Métodos: Son las operaciones que definen el comportamiento del objeto. Modificadores de acceso: public, private, protected o se puede omitir. Curso 2008/2009

●Introducción ● Herencia ● Interfaces ● Genéricos ● Excepciones Constructores: Método especial que permite crear un objeto. Método main: Toda aplicación Java contiene al menos una clase que define un método main. Tiene como misión inicializar y finalizar la ejecución de la aplicación. public static void main (String args[]) { System.out.println(“mensaje”); } Curso 2008/2009

●Introducción ● Herencia ● Interfaces ● Genéricos ● Excepciones La herencia modela las relaciones ES-UN/A. Clase base: clase de la que deriva el resto de las clases. Clase derivada: Variación de la clase base de la que hereda métodos y atributos. Permite añadir atributos y métodos adicionales e incluso modificar el significado de los métodos heredados. clase padre clase hijoB clase hijoA clase base clase derivada Curso 2008/2009

●Introducción ● Herencia ● Interfaces ● Genéricos ● Excepciones Ejemplo: class Persona{ … } class Estudiante extends Persona{ class Trabajador extends Persona{ Curso 2008/2009

●Introducción ● Herencia ● Interfaces ● Genéricos ● Excepciones clase final: no puede ser extendida (no se puede heredar de ella), todos sus métodos son también finales y no se pueden redefinir clase abstracta: la clase base únicamente define los métodos y atributos de la clase No se puede instanciar Tiene que existir una subclase que la implemente. Se pueden definir métodos abstractos y no abstractos (diferencia con interfaz donde todos los métodos son abstractos: no contienen implementación) Curso 2008/2009

●Introducción ● Herencia ● Interfaces ● Genéricos ● Excepciones Ejemplo public abstract class Figura { // atributos private String nombre;   // constructor public Figura( String nom ) nombre = nom; } // método abstracto abstract public double area(); public class Circulo extends Figura { // atributos private double radio;   //constructor public Circulo (double r) super (“circulo”); radio = r; }  // implementación del método area() public double area() return PI * radio * radio } public class Rectangulo extends Figura { //atributos private double base; private double alt; //constructor public Rectangulo (double largo, doble ancho) { super (“rectangulo”); base = largo; alt = ancho; } // implementación del método area() public double area() return base * alt Curso 2008/2009

●Introducción ● Herencia ● Interfaces ● Genéricos ● Excepciones Utilidades Mecanismo básico de reutilización de código Permite extender la funcionalidad de un objeto Permite definir nuevos tipos restringiendo o aumentando propiedades Genera una jerarquía de clases, que es usada para implementar métodos y clases genéricos: Estructura en forma de árbol de profundidad n. Recursividad de la herencia: cada clase hereda de su predecesor y así sucesivamente Curso 2008/2009

●Introducción ● Herencia ● Interfaces ● Genéricos ● Excepciones Es un conjunto de declaraciones de métodos (sin implementación) y atributos que son implícitamente public, static y final. Una clase implementa una interfaz si define todos los métodos abstractos de la interfaz. Una clase puede extender sólo a otra clase base. Sin embargo puede implementar una o varias interfaces.  Una interfaz puede heredar de otra utilizando extends. Cuando una clase implementa una interfaz que hereda de otra, tiene que implementar todos los métodos definidos en la cadena de herencia de la interfaz Curso 2008/2009

●Introducción ● Herencia ● Interfaces ● Genéricos ● Excepciones Ejemplo de Interfaz interface NombreInterface{ tipo_devuelto método1(lista de parámetros); ... tipo_devuelto métodoN(lista de parámetros); } Curso 2008/2009

●Introducción ● Herencia ● Interfaces ● Genéricos ● Excepciones Ejemplo de Interfaz interface Comparacion{ boolean iguales(Comparacion c); void visualiza(); } class Racional implements Comparacion{ int num, den; Racional (int n, int d){ //código } int numerador(){ //código } ... boolean iguales(Comparacion c){ Racional ra = (Racional) c; return num == ra.num && den == ra.den; } void visualiza(){ System.out.println(“número racional”); }} class Prueba{ public static void main (String [] args){ Comparacion c = new Complejo(2,3); Racional r= new Racional(3,5); c. visualiza(); // número complejo c=r; c.visualiza(); //número racional } class Complejo implements Comparacion{ int pReal, pImaginaria; Complejo (int r, int i){ //código } int parteReal(){ //código } ... boolean iguales(Comparacion c){ Complejo com = (Complejo) c; return pReal ==com.pReal && pImaginaria == com.pImaginaria; } void visualiza(){ System.out.println(“número complejo”); }} Curso 2008/2009

Interfaz - Clase Abstracta ●Introducción ● Herencia ● Interfaces ● Genéricos ● Excepciones Interfaz - Clase Abstracta Ambas tienen en común que pueden contener declaraciones de métodos sin implementar y no se pueden instanciar. Se diferencia en: Una clase no puede heredar de dos clases abstract, pero sí puede heredar de una clase abstract e implementar una o más interfaces Una clase no puede heredar métodos definidos de una interface Curso 2008/2009

●Introducción ● Herencia ● Interfaces ● Genéricos ● Excepciones El casting entre objetos se puede realizar, de manera implícita, en los siguientes casos: T y U son dos clases y U es superclase de T T y U son interfaces y U es superinterfaz de T T es una clase que implementa la interfaz U Ejemplos: Persona p; Estudiante e = new Estudiante(); p = e; Comparacion c; Racional r= new Racional(3,5); c=r; Curso 2008/2009

●Introducción ● Herencia ● Interfaces ● Genéricos ● Excepciones El casting entre objetos hay que realizarlo de manera explícita en los siguientes casos: T y S son dos clases y S es subclase de T T y S son interfaces y S es subinterfaz de T S es una clase que implementa la interfaz T Ejemplos: Persona p= new Estudiante(); Estudiante e; e= (Estudiante) p; Comparacion c = new Racional(3,5); Racional r; r = (Racional) c; boolean iguales (Comparacion c){ Racional ra = (Racional) c; return num == ra.num && den == ra.den; } Curso 2008/2009

●Introducción ● Herencia ● Interfaces ● Genéricos ● Excepciones Java permite definir una clase basada en un tipo genérico, es decir, un tipo no especificado hasta que se instancie la clase. La cabecera de la clase contendrá una referencia al tipo dentro de corchetes angulares: public class Caja<T>{ // declaraciones y código para gestionar los objetos de tipo T } Podemos utilizar cualquier identificador para el tipo genérico, pero el convenio consiste en utilizar una letra mayúscula. Curso 2008/2009

●Introducción ● Herencia ● Interfaces ● Genéricos ● Excepciones Para crear un objeto de tipo Caja, lo instanciaremos utilizando una clase específica en lugar de T. Caja<Papel> caja1 = new Caja<Papel>(); //crea una caja de objetos Papel(se supone //implementada) Caja<Juguete> caja2 = new Caja<Juguete>(); //crea una caja de objetos Juguete (se supone Con la misma definición de la clase Caja, se pueden almacenar diferentes tipos de objetos, los cuales se indican al instanciarlo. Curso 2008/2009

●Introducción ● Herencia ● Interfaces ● Genéricos ● Excepciones public class Pair<K,V> { private K clave; private V valor; public Pair(K c, V v) { clave = c; valor = v; } public K getClave() { return clave; } public V getValor(){return valor; } public String toString(){return "["+ getClave() + "," + getValor() + "]"; } public static void main (String [] args){ Pair <String,Integer> par1 = new Pair <String,Integer>(new String("Pedro"),33); // No necesario hacer cast System.out.println(par1.getClave().charAt(0)); System.out.println(par1); Pair <Persona,Double> par2 = new Pair <Persona,Double>(new Persona("Maria",11), 9.5); System.out.println(par2.getClave().getEdad()); // se supone implementado el método getEdad() en la clase Persona System.out.println(par2); } Curso 2008/2009

●Introducción ● Herencia ● Interfaces ● Genéricos ● Excepciones Una excepción es un error o condición anormal surgida durante la ejecución de una secuencia de código. Java obliga a que el programador prevea este tipo de situaciones capturando el error producido. Cuando se produce una excepción se detiene la ejecución del programa, se crea un objeto que la representa y se envía al método que lo ha provocado. El método puede gestionar la excepción (capturarla), o dejar que el gestor del interprete Java lo trate, el cual mostrará un mensaje describiendo la excepción. Curso 2008/2009

●Introducción ● Herencia ● Interfaces ● Genéricos ● Excepciones Ejemplo public class EjemploExcepcion { public static void calculo(int d){ int a = 10 / d; System.out.println(“no se visualiza si el parámetro es 0”); } Curso 2008/2009

●Introducción ● Herencia ● Interfaces ● Genéricos ● Excepciones Tipos Throwable Error RunTimeException Exception IOException AWTException … NullPointerException IndexOutOfBoundsException NegativeArraySizeEx. EOFException MalformedURLEx FileNotFoundEx ... Curso 2008/2009

Propagación de excepción ●Introducción ● Herencia ● Interfaces ● Genéricos ● Excepciones Propagación de excepción public class EjemploExcepcion {   static void calculo(int d) throws IllegalArgumentException { if (d == 0) throw new IllegalArgumentException(); int a = 10 / d; System.out.println(“Se visualiza el resultado”); } Curso 2008/2009

Creación de excepciones ●Introducción ● Herencia ● Interfaces ● Genéricos ● Excepciones Creación de excepciones class ExcepcionDenominadorCero extends Exception{   ExcepcionDenominadorCero(){ super(); } ExcepcionDenominadorCero(String s){ super(s); public class EjemploExcepcion{  static void calculo(int d) throws ExcepcionDenominadorCero { if (d == 0) throw new ExcepcionDenominadorCero(); int a = 10 / d; Curso 2008/2009