python herencia vs composición (luke soy tu padre)

21
Luke soy tu Padre Herencia vs Composición

Upload: eduardo-ferro-aldama

Post on 05-Jul-2015

169 views

Category:

Software


3 download

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 Zaragoza

TRANSCRIPT

Page 1: Python Herencia vs Composición (Luke soy tu padre)

Luke soy tu PadreHerencia vs Composición

Page 2: Python Herencia vs Composición (Luke soy tu padre)

Alea Soluciones @eferro

Page 3: Python Herencia vs Composición (Luke soy tu padre)
Page 4: Python Herencia vs Composición (Luke soy tu padre)

Herencia

Dependencia fuentes (import)Dependencia runtime

De todos los ancestros

Page 5: Python Herencia vs Composición (Luke soy tu padre)

Herencia

Dependencia MUY altaHasta que la muerte nos separe

Page 6: Python Herencia vs Composición (Luke soy tu padre)

Composición

Dependencia runtimeSólo sobre métodos usados

Page 7: Python Herencia vs Composición (Luke soy tu padre)

Composición

Dependencia MUY baja

Page 8: Python Herencia vs Composición (Luke soy tu padre)

Composición

Dependencia MUY baja

Duck Typing Approved!!!

Page 9: Python Herencia vs Composición (Luke soy tu padre)

Tipos de Herencia

Herencia de TiposHerencia para reusar código

Page 10: Python Herencia vs Composición (Luke soy tu padre)

¿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)
Page 12: Python Herencia vs Composición (Luke soy tu padre)

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)

Para reusar código Python hace fácil la composición

Page 14: Python Herencia vs Composición (Luke soy tu padre)
Page 15: Python Herencia vs Composición (Luke soy tu padre)

Diseñando tus aplicaciones

Por defecto composición Usa herencia para excepciones

Page 16: Python Herencia vs Composición (Luke soy tu padre)

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)

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)

No generes unaMala experiencia

Page 19: Python Herencia vs Composición (Luke soy tu padre)
Page 20: Python Herencia vs Composición (Luke soy tu padre)
Page 21: Python Herencia vs Composición (Luke soy tu padre)

Gracias !!!@eferro