Hola Kedwin, espero que estés bien.
Interesante tu pregunta. En esa situación es cómo una buena práctica de programación. La composición de objetos en herencia y polimorfismo actua en lo desacoplamiento del código para un fácil mantenimiento.
En general, la herencia permite el polimorfismo y la reutilización del código. Con las interfaces tenemos una alternativa al polimorfismo, con la composición tendremos más flexibilidad con nuestro código, ya que no estaremos apegados al acoplamiento que propone la herencia, por ejemplo.
Espero haberte podido ayudar, mucho éxito en todo lo que te propongas y si tienes alguna duda aquí estaremos para apoyarte.
Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios