Presentado por: PABLO ANDRES DIAZ SAIN HASSAM CAICEDO

Slides:



Advertisements
Presentaciones similares
5. Estructuras no lineales estáticas y dinámicas
Advertisements

Curso de java básico (scjp)
Curso de java básico (scjp)
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
FACHADA COMPOSITOR MEMENTO
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
FACHADA.
Programación II Listas
Arquitectura CLARO-TECNOTREE
Igor Santos Grueiro. Muchos objetos tienen CLAVE.
Programación Orientada a Objetos
Patrones de Diseño GEYFFER ALEXANDER ACOSTA CRISTHIAN DOUGLAS CASTRO
Introducción 1 Puntos Clave –La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software –Los métodos tradicionales.
2.4 Construcción de un TAD a partir de otro.
Aplicación del paradigma orientado a objetos
Rosalía Laza Fidalgo Reyes Pavón Rial Curso
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.
Programación Orientada a Objetos en Java
Marzo 2007 Lenguajes Visuales Clase III.
PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.
HERENCIA.
Enterprise Java Beans Rubén Trujillo Sept-Dic 2008.
Medio de tele-comunicación
Polimorfismo Lenguajes de Programación II Corporación Universitaria del Caribe CECAR.
Lic. Rosemary Torrico Bascopé
El patrón de diseño Proxy Raúl Heras Alberto Blasco José Manuel Arévalo.
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.
Tema 6: Clases Antonio J. Sierra.
Técnicas avanzadas de programación Interfaces
Diseño de Sistemas. Patrones de Diseño. Geronimo Manso.
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.
Patrón Observador Un patrón de diseño es una descripción de clases y objetos comunicándose entre si adaptada para resolver un problema de diseño general.
Jerarquía de Clases: Herencia, Composición y Polimorfismo
ESTRUCTURA DE DATOS EN JAVA
Patrones Creacionales
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
Lenguajes de Programación Tema 3
Patrones de diseño DECORATOR Mario Rodríguez Martín
Realizado por: Manuel González Joaquín Windmuller José Lorenzo Rodríguez
Patrones de Diseño: Command
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
Herramientas de polimorfismo y herencia en C++
Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Simulación del patrón … (4)
Patrones de Diseño Carolina Perozo Julio Padrón Anthony Accardi.
PATRON PROTOTYPE Cristina Merino Héctor Carbajo Alicia Arroyo.
César Estéban Castañeda Luis Andrés Almanza
Metodología de Programación Ayudantía 5 lelagos.ublog.cl 2009.
PATRÓN ADAPTER (Adaptador) Elena Moreno Ramírez Laura Sánchez Romero Aroa Solana Ruiz.
Patrón Iterator Santiago García Sánchez Rebeca Marcos Salcedo Mª Cristina Zapatero Gironda.
Unidad 2.1: INTRODUCCIÓN A LA ORIENTACIÓN A OBJETOS.
Arreglos de Objetos.
Detalles Generales sobre Java
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
Acceso a Datos Erick López Ovando Licenciado en Informática.
Clases “ Es una Abstracción de un elemento del mundo real ”
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
Herencias Conceptos básicos i
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
Factorías e Iterables Introducción del concepto de patrón de diseño Construcción de tipos para recorridos con for extendido Fundamentos de Programación.
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
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.
Transcripción de la presentación:

Presentado por: PABLO ANDRES DIAZ SAIN HASSAM CAICEDO PATRON COMPOSITE Presentado por: PABLO ANDRES DIAZ SAIN HASSAM CAICEDO

Patrón Composite El patrón Composite permite construir objetos complejos componiendo de forma recursiva objetos similares en una estructura de árbol. Permite manipular todos los objetos contenidos en el árbol de forma uniforme, ya que todos ellos poseen una interfaz común definida en la clase raíz. El patrón Composite hace parte de la familia de los patrones estructurales de J2SE

Para representar jerarquías de objetos todo-parte. Aplicación Para representar jerarquías de objetos todo-parte. Para que los clientes puedan ignorar la diferencia entre los objetos compuestos y los objetos de la estructura de forma uniforme.

Participantes del Composite Componente: Clase abstracta de la que heredan todas las demas Declara la interfaz de todos los objetos de la composición. Declara una interfaz de acceso y manipulación de los componentes hijo Opcionalmente, define una interfaz para acceder al padre de cada componente Hoja: Nodo hoja del árbol de objetos a partir de la estructura de clases No tiene hijos Define el comportamiento de los objetos primitivos del compuesto

Participantes del Composite Compuesto: Superclase que define los métodos necesarios para manejar los objetos que agrupa un nodo compuesto Define el comportamiento de los componentes compuestos Almacena a los hijos Implementa las operaciones de manejo de los componentes hijos Los objetos compuestos normalmente tratan a los objetos que contienen como instancias de Componente Cliente: Maneja los objetos que forman parte del Compuesto como Componentes

Estructura (clases)

Estructura (objetos)

Ejemplo practico

Ejemplo Practico

Ejemplo Practico

Ejemplo Patrón Composite

Consecuencias Se define una jerarquía de objetos hoja y objetos compuestos que se van componiendo de forma recursiva El cliente se simplifica, ya que trata los objetos hoja y los compuestos de la misma forma La inclusión de nuevas clases hoja o clases compuestas no modifica la estructura anterior ni el código del cliente La desventaja de poder añadir nuevos componentes surge si se desea restringir el tipo de objetos que forman parte de una compuesto – Necesidad de comprobaciones dinámicas

Implementación en Java public interface Componente { Compuesto obtenerCompuesto(); } public class Hoja implements Componente { public Compuesto obtenerCompuesto(){ return null;

Implementación en Java public class Compuesto implements Componente { private Nombre nombre; private Vector lista; public Compuesto (String nombre){ nombre = new Nombre(nombre); lista = new Vector(); } public void add (Componente componente){ lista.addElement(componente); public boolean remove (Componente componente){ return lista.removeElement(componente);

Implementación en Java public Componente obtenerHijo (int hijo){ return (Componente) lista.elementAt(hijo); } public Compuesto obtenerCompuesto(){ return this; } //termina la clase Compuesto

Ejemplos comunes en Java En el paquete javax.swing se encuentran: Componente --- Component CompuestoAbstracto --- Container CompuestoConcreto – JPanel, JFrame, JDialog Hoja --- JLabel, JTextField, JButton

EJERCICIO Situación: Muchas clases de sistemas manufacturados, tales como sistemas de computo o de estéreo, están compuestos de componentes individuales y subsistemas que contienen componentes. Por ejemplo, un sistema de computo puede tener varios chasis que contienen componentes (chasis de disco duro, chasis de alimentación), y buses que contienen tarjetas. El sistema entero esta compuesto

EJERCICIO