Interfaces ELO329: Diseño y Programación Orientados a Objetos.

Slides:



Advertisements
Presentaciones similares
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
Advertisements

Lenguaje Unificado de Modelado
Curso de Java Capitulo 7: Conceptos sobre poo Profesor:
POLIMORFISMO UNIDAD 4.
Herencia en C#.
Fundamentos de la programación orientada a objetos
Lenguaje de programación Java
Herencia simple y multiple
Arquitectura CLARO-TECNOTREE
Igor Santos Grueiro. Muchos objetos tienen CLAVE.
Introducción a la Orientación a Objetos
Conceptos más avanzados de Programación Orientada a Objetos Programación 2005 Licenciatura de Lingüística y Nuevas Tecnologías.
Aplicación del paradigma orientado a objetos
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
DIAGRAMAS DE CLASES Completando los diagramas de interacción, es posible identificar la especificación de las clases que participarán en la solución indicando.
Diseño y programación de
PROGRAMACION ORIENTADA
Encapsulamiento y Abstracción
Abstracción de Datos La abstracción es un recurso fundamental en la programación orientada a objetos y está además fuertemente ligado a reusabilidad.
Polimorfismo Lenguajes de Programación II Corporación Universitaria del Caribe CECAR.
El paradigma de la orientación a objetos La programación orientada a objetos genera códigos eficientes y estandariza la metodología de programación, además.
Abstracción de los datos y Orientación a Objeto Clase 13.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA CINCO CONSOLE.
Tema 10: Interfaces Antonio J. Sierra.
1 Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos.
Técnicas avanzadas de programación Interfaces
Diseño de Sistemas. Patrones de Diseño. Geronimo Manso.
1 Interfaces Agustín J. González ELO Introducción En C++ se permite la herencia múltiple; es decir, es posible derivar una clase de dos o más clases.
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.
(c) P. Gomez-Gil, INAOE DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP.
1 Persistencia en Java Agustín J. González ELO-329.
Programación orientada a objetos
Informática II Interfaces zLas interfaces declaran un tipo que se componen sólo de métodos abstractos y constantes. zLa definición de una clase hace pensar.
1 Diseño Orientado a Objetos Agustín J. González ELO-329: Diseño y Programación Orientados a Objetos 1er. Sem
ELO-329: Diseño y Programación Orientados a Objetos 1 Conceptos ELO329: Diseño y Programación Orientados a Objetos.
Programación Orientada Objetos
PATRON PROTOTYPE Cristina Merino Héctor Carbajo Alicia Arroyo.
Metodología de Programación Ayudantía 5 lelagos.ublog.cl 2009.
Diagrama de Clases ACI 570.
Interfaces y Clases Internas ELO329: Diseño y Programación Orientados a Objetos.
1 Diseño Orientado al Objeto Agustín J. González ELO-326: Seminario de Computadores II 2do. Sem
1 Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos.
1 Programación “Conducida por eventos” Event-driven programming Agustín J. González ELO329/ELO330.
1 Interfaces y Clases Internas ELO-329: Diseño y programación orientados a objetos Agustín J. González.
Paquetes y Documentación en Java ELO329: Diseño y Programación Orientados a Objetos.
1 Interfaces y Clases Internas ELO-329: Diseño y programación orientados a objetos Agustín J. González.
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.
Facultad de Ingeniería
Unidad 2.1: INTRODUCCIÓN A LA ORIENTACIÓN A OBJETOS.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA SEIS DESARROLLO, INNER CLASSES.
Introducción a UML Departamento de Informática Universidad de Rancagua
Interfaces y Clases Internas
Herencia y Clases Abstractas
1 Interfaces Agustín J. González ELO Introducción En C++ se permite la herencia múltiple; es decir, es posible derivar una clase de dos o más clases.
M.C. Pedro Bello López 1 IMPLEMENTACIÓN. M.C. Pedro Bello López2.
Patrones de Diseño Agustín J. González ElO329.
La Programación Orientado a Objetos
Herencias Conceptos básicos i
Herencia y Clases Abstractas Reutilización de código y código genérico ELO329: Diseño y Programación Orientados a Objetos.
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.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Herencia.
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.
Interfaces y Clases Internas ELO329: Diseño y Programación Orientados a Objetos.
ELO329: Diseño y Programación Orientados a Objetos
ELO329: Diseño y Programación Orientados a Objetos
ELO329: Diseño y Programación Orientados a Objetos
ELO329: Diseño y Programación Orientados a Objetos
ELO329: Diseño y Programación Orientados a Objetos
Transcripción de la presentación:

Interfaces ELO329: Diseño y Programación Orientados a Objetos

¿Qué queremos decir con interfaces y clases internas? NOTA: El término interfaz aquí NO se refiere a las interfaces gráficas. Aquí las interfaces son una manera de describir qué debería hacer una clase sin especificar el cómo. Faz =>entre caras => Interfaz, plural interfaces Las clases internas son clases anidadas dentro de otras clases o métodos. Interfaces y clases internas son recursos esenciales en el manejo de interfaces gráficas en Java. Será nuestro próximo tópico.

ELO-329: Diseño y Programación Orientados a Objetos Interfaces Una interfaz es la descripción de uno o más servicios (métodos) que posteriormente alguna clase puede implementar (y por ende ofrecer). Por ejemplo, si un alumno sabe alemán, tenemos idea de lo que él es capaz. Además de ser persona (herencia) él cumple la interfaz “interprete de alemán”. También podríamos decir que él es un “interprete de alemán” (la misma relación que en herencia).

ELO-329: Diseño y Programación Orientados a Objetos Interfaces (cont.)‏ En Java cada clase puede tener sólo una clase base (herencia no múltiple). Cuando relación es-un con más categorías del mundo real, usamos herencia con una de ellas e interfaces para exhibir un comportamiento como el esperado por las otras. Se cumple también el principio de sustitución. Instancias de la clase que implementa una Interfaz pueden ser usadas donde se espera una instancia de la interfaz. Es similar a usar una instancias de una subclase cuando se espera un objeto de la clase base.

ELO-329: Diseño y Programación Orientados a Objetos Interfaces (cont.)‏ No se permite crear instancias (objetos) de una Interfaz. Por la misma razón que no se puede crear instancias de clases abstractas, no se tienen la implementaciones. new InterfazX(); Todos los métodos de una Interfaz son públicos. No es necesario indicarlo. Pueden incluir constantes. En este caso son siempre public static final.

ELO-329: Diseño y Programación Orientados a Objetos Interfaces: Aspectos sintácticos Debemos atender dos cosas: Si la interfaz no existe, debemos definirla. Luego debemos implementar la interfaz en alguna clase. Implementación de una interfaz: class Employee implements Comparable {.... public int compareTo(Object other) {....// implementación } Definición de una interfaz, en un archivo de nombre Comparable.java, poner: public interface Comparable{ int compareTo (Object other); }

ELO-329: Diseño y Programación Orientados a Objetos Ejemplo: uso de interfaces Consideremos la extensión de la clase Employee para que podamos ordenar arreglos de empleados según su salario. La interfaz Comparable ya está definida en el lenguaje, luego sólo debemos implementarla. Ver EmployeeSortTest.java Ver documentación de clase Arrays e interfaz Comparable. Notar el métodos genérico sort de la clase Arrays.