Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Ereditarietà multipla in Java
Scritto da Davide Panceri il 22-09-2011 ore 08:50
The Parallel Universe
Tra le non poche motivazioni e spiegazioni della mancanza di ereditarietà multipla in Java c'è anche un vecchio white paper di James Gosling, recentemente testimone del disastro aereo di Reno; nel documento si sottolinea che la finalità specifica di questa scelta risulta essere la semplicità rispetto al più bolso C++, linguaggio che rimane comunque punto di riferimento fondamentale per il nuovo e giovane (allora) concorrente.

In sostanza, si ritiene che l'ereditrietà multipla sia di un meccanismo troppo complesso, il cui utilizzo finisce per dare più grattacapi che vantaggi. Sull'argomento però non c'è unanimità, come emerge ad esempio dalle soluzioni adottate dai progettisti di Scala, linguaggio che a sua volta deriva da Java e vuole rendere più produttivi i programmatori, appunto per surrogare questa mancanza.

Ultimamente, qualcuno dalle parti di Insightful Logic ha voluto provare il brivido della trasgressione proprio su questo terreno accidentato, predisponendo una semplice implementazione Java dell'ereditarietà multipla. Si tratta ovviamente di un progetto sperimentale, per il quale appare dunque quasi superflua l'avvertenza che segue immediatamente il titolo del post: "DO NOT use this in production code yet, its far too immature.

Anche se il meccanismo di ereditarietà multipla in Java è limitato alle interfacce, si può realizzare l'implementazione di queste ultime attraverso la cosiddetta Dependency Injection, utilizzando strumenti come Guice o Spring come punto di partenza.

Per quanto possa sembrare inopportuno e perfino masochistico andare a recuperare con trucchi vari un meccanismo esplicitamente respinto dai progettisti del linguaggio, le variazioni su tema a volte portano idee nuove e magari qualche beneficio pratico, per cui eventuali volenterosi potranno cimentarsi con questo Java (diciamo così) esteso prelevando il relativo codice da GitHub.
Precedente: Chess@home, scacco matto con JavaScript
Successiva: Il computer che verrà secondo Intel
Copyright Programmazione.it™ 1999-2014. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.181 secondi.