Header Ads Widget

Ticker

6/recent/ticker-posts

Composición sobre herencia


La herencia en Python es buena ya que facilita una gran cantidad de reutilización de código. Colocamos datos y comportamientos comunes en una clase Base y luego implementamos los datos y comportamientos adicionales necesarios en las clases derivadas. Por lo tanto, cuando utiliza la herencia, está haciendo uso de una relación "es un". Por ejemplo, un automóvil es un vehículo. Otro enfoque para la reutilización de código cuando se usa el estilo de programación orientado a objetos en Python es Composición . La composición tiene un enfoque diferente en el que se usa una relación "tiene un". Básicamente, en la composición, ensamblas objetos complejos a partir de otros más simples. Construyes objetos a partir de otros objetos. Por ejemplo, puede construir un objeto Car que tenga un objeto Engine, o tenga unObjeto de neumático, etc. En esta lección, analizaremos el uso de la composición sobre la herencia.


Herencia Vs Composición

A la izquierda de la línea amarilla hay un ejemplo de cómo podría verse la herencia conceptualmente. A la derecha hay un ejemplo de composición.

Herencia vs Composición


Composición en código

En el siguiente código, utilizamos la composición. Notarás que no hay herencia en ninguna de las clases definidas. Sin embargo, lo que vemos es el enfoque de instanciar un objeto Engine y luego asignar ese objeto a una propiedad de un objeto Tractor. Como puede ver, este es un ejemplo de cómo construir una clase más compleja a partir de una clase más simple. Esta es la composición en acción.

Este es un tractor John Deere.
Tiene motor de 3 cilindros y 25 caballos de fuerza.
Los archivos adjuntos que tiene incluyen:
 - cargador
 - retroexcavadora
 - Plataforma de corte
 - Soplador de nieve


Publicar un comentario

0 Comentarios