Foros del Web » Programando para Internet » Python »

ejemplo agregacion y composicion python

Estas en el tema de ejemplo agregacion y composicion python en el foro de Python en Foros del Web. Hola gente, he buscado en la web algun ejemplo codificado en python que muestre la implementacion de agregacion y composicion, si alguien sabe por donde ...
  #1 (permalink)  
Antiguo 20/08/2012, 07:46
 
Fecha de Ingreso: abril-2008
Mensajes: 425
Antigüedad: 16 años, 8 meses
Puntos: 2
ejemplo agregacion y composicion python

Hola gente, he buscado en la web algun ejemplo codificado en python que muestre la implementacion de agregacion y composicion, si alguien sabe por donde navegar lo agradeceria

Saludos a todos!
  #2 (permalink)  
Antiguo 20/08/2012, 10:48
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: ejemplo agregacion y composicion python

Esta entrada de un blog parece ser bastante concisa.

Voy a tratar de explicarlo con palabras mucho mas simples (Estoy asumiendo que tienes conocimiento básico de Programación Orientada a Objetos).

Agregación es cuando una clase posee a otra.
Ejemplo:
Supon que tienes la clase llamada Punto y otra clase llamada Circulo. La definición de la clase punto es solamente x, y ademas de unos cuantos metodos. Si ya tienes esa clase Punto lo mas logico sería usar esta clase en la clase Circulo de tal manera que Circulo tiene un objeto de la clase Punto y un radio.

En este ejemplo la clase Circulo posee a la clase Punto. O mas bien agrega a la clase punto.

Pero la clase punto la puedes usar para definir otras figuras geométricas, por ejemplo un rectángulo, un triangulo, un polígono, etc...

La composición es cuando una clase pertenece a otra sin embargo esa clase no tiene sentido si esta sola.

Ejemplo:
Imagina que tienes agregada la clase Celular (o Movil) en la clase Persona. Entonces las personas tienen celulares. Pero fuera de esta definición no tiene sentido que una clase Perro tenga la clase Celular, o que la clase Perico tenga un Celular (a pesar de que seria bastante cómico). La clase Celular solamente es usado por la clase Persona. Entonces se dice que la clase esta en composición.

Ahora solo te falta codificar alguno de los ejemplos mencionados en el blog o aquí.
  #3 (permalink)  
Antiguo 20/08/2012, 16:40
 
Fecha de Ingreso: abril-2008
Mensajes: 425
Antigüedad: 16 años, 8 meses
Puntos: 2
Respuesta: ejemplo agregacion y composicion python

Hola razpeitia, gracias por contestar! si, tengo tooda la teoria, lo que andaba buscando es un ejemplo codificado en python, recien empiezo y no me doy idea de como es en codigo.
Hay un monton de herencia y herencia multiple, pero de agregacion y composición no he encontrado.

Saludos y gracias nuevamente!
  #4 (permalink)  
Antiguo 20/08/2012, 18:07
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: ejemplo agregacion y composicion python

La verdad es que en python no se puede apreciar tan bien este concepto por la falta de contexto en las variables.

Te puedo dejar un ejemplo sencillo.

Código Python:
Ver original
  1. class Punto:
  2.     def __init__(x, y):
  3.         pass
  4.  
  5.     def distancia(punto):
  6.         pass
  7.  
  8. class Circulo:
  9.     def __init__(self, centro, radio):
  10.         pass
  11.  
  12.     def colision(self, circulo):
  13.         pass

Obviamente falta implementar lo que tenga pass. Pero mas o menos este es el ejemplo de agregación.

También te dejo el mismo ejemplo en Java. Donde si hay mas contexto.

Código Java:
Ver original
  1. class Punto {
  2.     double x;
  3.     double y;
  4.  
  5.     public Punto(double x, double y) {
  6.         // TODO: Implementar
  7.     }
  8.  
  9.     public double distancia(Punto punto) {
  10.         // TODO: Implementar
  11.     }
  12. }
  13.  
  14. class Circulo {
  15.     Punto punto;
  16.     double radio;
  17.  
  18.     public Circulo(Punto centro, double radio) {
  19.         // TODO: Implementar
  20.     }
  21.    
  22.     public boolean colision(Circulo circulo) {
  23.         // TODO: Implementar
  24.     }
  25. }
  #5 (permalink)  
Antiguo 21/08/2012, 10:14
 
Fecha de Ingreso: abril-2008
Mensajes: 425
Antigüedad: 16 años, 8 meses
Puntos: 2
Respuesta: ejemplo agregacion y composicion python

muchas gracias! eso era lo que queria ver

Etiquetas: ejemplo, uml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:16.