python herencia vs composición (luke soy tu padre)
DESCRIPTION
Herencia vs Composición en Python como mejorar nuestro diseño Orientado a Objetos sabiendo cuando usar la composición y cuando la herencia. Charla corta presentada en la PyConES 2014 ZaragozaTRANSCRIPT
![Page 1: Python Herencia vs Composición (Luke soy tu padre)](https://reader030.vdocumento.com/reader030/viewer/2022020116/559820a51a28ab83648b4718/html5/thumbnails/1.jpg)
Luke soy tu PadreHerencia vs Composición
![Page 2: Python Herencia vs Composición (Luke soy tu padre)](https://reader030.vdocumento.com/reader030/viewer/2022020116/559820a51a28ab83648b4718/html5/thumbnails/2.jpg)
Alea Soluciones @eferro
![Page 3: Python Herencia vs Composición (Luke soy tu padre)](https://reader030.vdocumento.com/reader030/viewer/2022020116/559820a51a28ab83648b4718/html5/thumbnails/3.jpg)
![Page 4: Python Herencia vs Composición (Luke soy tu padre)](https://reader030.vdocumento.com/reader030/viewer/2022020116/559820a51a28ab83648b4718/html5/thumbnails/4.jpg)
Herencia
Dependencia fuentes (import)Dependencia runtime
De todos los ancestros
![Page 5: Python Herencia vs Composición (Luke soy tu padre)](https://reader030.vdocumento.com/reader030/viewer/2022020116/559820a51a28ab83648b4718/html5/thumbnails/5.jpg)
Herencia
Dependencia MUY altaHasta que la muerte nos separe
![Page 6: Python Herencia vs Composición (Luke soy tu padre)](https://reader030.vdocumento.com/reader030/viewer/2022020116/559820a51a28ab83648b4718/html5/thumbnails/6.jpg)
Composición
Dependencia runtimeSólo sobre métodos usados
![Page 7: Python Herencia vs Composición (Luke soy tu padre)](https://reader030.vdocumento.com/reader030/viewer/2022020116/559820a51a28ab83648b4718/html5/thumbnails/7.jpg)
Composición
Dependencia MUY baja
![Page 8: Python Herencia vs Composición (Luke soy tu padre)](https://reader030.vdocumento.com/reader030/viewer/2022020116/559820a51a28ab83648b4718/html5/thumbnails/8.jpg)
Composición
Dependencia MUY baja
Duck Typing Approved!!!
![Page 9: Python Herencia vs Composición (Luke soy tu padre)](https://reader030.vdocumento.com/reader030/viewer/2022020116/559820a51a28ab83648b4718/html5/thumbnails/9.jpg)
Tipos de Herencia
Herencia de TiposHerencia para reusar código
![Page 10: Python Herencia vs Composición (Luke soy tu padre)](https://reader030.vdocumento.com/reader030/viewer/2022020116/559820a51a28ab83648b4718/html5/thumbnails/10.jpg)
¿Por qué usamos Herencia?
Nos enseñaron asíVenimos de otros lenguajes
Nos obligan las librerías
![Page 11: Python Herencia vs Composición (Luke soy tu padre)](https://reader030.vdocumento.com/reader030/viewer/2022020116/559820a51a28ab83648b4718/html5/thumbnails/11.jpg)
![Page 12: Python Herencia vs Composición (Luke soy tu padre)](https://reader030.vdocumento.com/reader030/viewer/2022020116/559820a51a28ab83648b4718/html5/thumbnails/12.jpg)
Para implementación de APIs Python no te obliga a herencia de tipos
Olvídate de Java, no tienes que heredar para todo :)
![Page 13: Python Herencia vs Composición (Luke soy tu padre)](https://reader030.vdocumento.com/reader030/viewer/2022020116/559820a51a28ab83648b4718/html5/thumbnails/13.jpg)
Para reusar código Python hace fácil la composición
![Page 14: Python Herencia vs Composición (Luke soy tu padre)](https://reader030.vdocumento.com/reader030/viewer/2022020116/559820a51a28ab83648b4718/html5/thumbnails/14.jpg)
![Page 15: Python Herencia vs Composición (Luke soy tu padre)](https://reader030.vdocumento.com/reader030/viewer/2022020116/559820a51a28ab83648b4718/html5/thumbnails/15.jpg)
Diseñando tus aplicaciones
Por defecto composición Usa herencia para excepciones
![Page 16: Python Herencia vs Composición (Luke soy tu padre)](https://reader030.vdocumento.com/reader030/viewer/2022020116/559820a51a28ab83648b4718/html5/thumbnails/16.jpg)
Diseñando tus aplicaciones
Si estáis obligados a heredar, no lo hagáis con vuestra clase principal,
cread una clase sólo para esa herencia y luego podéis usar esta
clase por composición
![Page 17: Python Herencia vs Composición (Luke soy tu padre)](https://reader030.vdocumento.com/reader030/viewer/2022020116/559820a51a28ab83648b4718/html5/thumbnails/17.jpg)
Diseñando librerías para reusar
Permite usar por composición No obligues a heredar
(No seas mala persona):)
![Page 18: Python Herencia vs Composición (Luke soy tu padre)](https://reader030.vdocumento.com/reader030/viewer/2022020116/559820a51a28ab83648b4718/html5/thumbnails/18.jpg)
No generes unaMala experiencia
![Page 19: Python Herencia vs Composición (Luke soy tu padre)](https://reader030.vdocumento.com/reader030/viewer/2022020116/559820a51a28ab83648b4718/html5/thumbnails/19.jpg)
![Page 20: Python Herencia vs Composición (Luke soy tu padre)](https://reader030.vdocumento.com/reader030/viewer/2022020116/559820a51a28ab83648b4718/html5/thumbnails/20.jpg)
![Page 21: Python Herencia vs Composición (Luke soy tu padre)](https://reader030.vdocumento.com/reader030/viewer/2022020116/559820a51a28ab83648b4718/html5/thumbnails/21.jpg)
Gracias !!!@eferro