Originariamente inviato da goetas
l'eriditarietà multipla è una caratteristicha che sempre meno linguaggi supportano poichè introduce molti problemi e confusione...
nel contempo è fondamentale se uno vuole evitare di scrivere 10 classi che servono solo come base da estendere per scriverci poi sopra il proprio codice

la confusione, prima di venire dall'ereditarietà multipla, viene da tanti altri fattori ed in primis la poca conoscenza della programmazione ad oggetti, la cattiva organizzazione del codice, concetti errati sul linguaggio e cosi via

se, ad esempio, in C# non ci fosse l'ereditarietà multipla implementare certe cose non sarebbe possibile!

ad esempio mettiamo che tu hai un framework base dove tutti gli oggetti devono estendere una specifica classe ... come fai ad aggiungere un interfaccia se già devi estendere quella data classe? devi fare estendere all'interfaccia la classe e poi estendi l'interfaccia ... ma per definizione l'interfaccia è solo la definizione di un set di funzionalità che vanno implementate quindi dovresti utilizzare una classe astratta come base da estendere che estenda l'oggetto base

insomma un rigiro pazzesco :\