Cita:
Empezado por nlsgarcia
Supongo que por estos problemas de ambigüedad, Delphi y C# utilizan interfaces como una forma alternativa de herencia múltiple.
|
Sí, y es que el uso de interfaces es limpio y suficiente para muchos casos.
Pero me extraña ver tantas disertaciones sobre herencia múltiple con todos los contras que tiene, y casi ninguna mención a la
redefinición de clases (o "herencia insertada"), en lenguajes populares como Delphi, C#, etc.
Por otra parte,
mamcx, he notado que haces mucho hincapié en las dificultades para reutilizar código cuando éste se encuentra en métodos de clases y sólo necesitamos uno de esos métodos o parte de él, y no toda la jerarquía de clases que
arrastra. Me pregunto si habrás mirado con detenimiento en
GH Freebrary, donde hay más de 40 clases y la mayor parte del código fuente que éstas emplean se encuentra separado en cientos de funciones independientes. Así el programador tiene la libertad de usar una clase de esta biblioteca o solamente las funciones que necesita, según sea su objetivo. Y es que yo me tomo muy en serio lo del aprovechamiento y reutilización del código, sin caer en aquella tristemente exitosa trampa conceptual de que "encapsular" es meter todo el código fuente en los métodos.
Un saludo.