• Istituto
    • Chi Siamo
    • La nostra storia
  • Magazine
    • Agenda
    • Atlante
    • Il Faro
    • Il Chiasmo
    • Diritto
    • Il Tascabile
    • Le Parole Valgono
    • Lingua italiana
    • WebTv
  • Catalogo
    • Le Opere
    • Bottega Treccani
    • Gli Ebook
    • Le Nostre Sedi
  • Scuola e Formazione
    • Portale Treccani Scuola
    • Formazione Digitale
    • Formazione Master
    • Scuola del Tascabile
  • Libri
    • Vai al portale
  • Arte
    • Vai al portale
  • Treccani Cultura
    • Chi Siamo
    • Come Aderire
    • Progetti
    • Iniziative Cultura
    • Eventi Sala Igea
  • ACQUISTA SU EMPORIUM
    • Arte
    • Cartoleria
    • Design & Alto Artigianato
    • Editoria
    • Idee
    • Marchi e Selezioni
  • Accedi
    • Modifica Profilo
    • Treccani X

multimetodi

di Mauro Cappelli - Enciclopedia della Scienza e della Tecnica (2008)
  • Condividi

multimetodi

Mauro Cappelli

Funzionalità implementata in alcuni linguaggi di programmazione orientata agli oggetti che consente un polimorfismo su più di un argomento di un metodo. Il polimorfismo permette a oggetti diversi di eseguire in modo differente la stessa operazione. Accade talvolta che un’operazione coinvolga più di un oggetto e può essere utile definire un comportamento polimorfo che tenga conto del tipo di tutti gli oggetti coinvolti (per es., il calcolo dell’intersezione di due figure geometriche dipende ovviamente da entrambe le forme coinvolte). Alcuni linguaggi di programmazione come CLOS (Common ;lisp object system), Dylan (una versione semplificata di CLOS) o Nice prevedono un costrutto specifico, definito come multimetodo (multimethod o multiple dispatch), per gestire i suddetti casi. Un multimetodo consente l’implementazione del polimorfismo nel senso che diverse funzioni con lo stesso nome vengono distinte in base al tipo e numero dei loro parametri. In un linguaggio di programmazione orientato agli oggetti che non supporta la funzionalità dei multimetodi, l’invocazione di un metodo comporta un trattamento speciale per uno dei suoi argomenti, così da permettere l’individuazione corretta della parte di codice da eseguire (per es., l’argomento speciale può essere premesso al comando di chiamata della funzione, come accade in alcuni linguaggi). Nei linguaggi che dispongono di multimetodi, tutti gli argomenti sono invece trattati in modo simmetrico. Il metodo specifico da chiamare è scelto considerando i tipi di tutti i suoi argomenti e non deve necessariamente essere conosciuto al momento della compilazione. I multimetodi possono essere molto utili come funzioni globali (ossia non appartenenti a una classe particolare) per realizzare la funzionalità di messaggi di tipo generale: un tipico esempio è dato da una funzione che gestisce gli eventi in una GUI (Graphical user interface).

→ Programmazione, linguaggi di

Vedi anche
subroutine In informatica, lo stesso che sottoprogramma, ossia programma (generalmente breve) che può essere richiamato, anche più volte, dal programma principale per risolvere un problema specifico e frequente, agevolando così la programmazione e facendo risparmiare spazio di memoria. In alcuni contesti si considerano ... implementazione In informatica, realizzazione di una procedura di elaborazione automatica dei dati, ideata a seguito dell’analisi del problema che si vuole affrontare e relativa progettazione della soluzione; si estrinseca, a partire dagli stadi iniziali, attraverso le varie fasi del progetto: definizione dello schema ... compilatore In informatica, programma che traduce il codice sorgente (un altro programma) scritto in un linguaggio di programmazione di alto livello in codice oggetto o target (un terzo programma) scritto in un linguaggio di più basso livello. Utilizzando un altro programma, il linker, è possibile ‘collegare’ i ... linguàggio di programmazióne linguàggio di programmazióne In informatica, insieme di parole e di regole, definite in modo formale, per consentire la programmazione di un elaboratore affinché esegua compiti predeterminati. Esistono linguaggio di programmazione di linguaggio di programmazione di alto livello e di basso livello: ...
Categorie
  • PROGRAMMAZIONE E PROGRAMMI in Informatica
  • Istituto
    • Chi Siamo
    • La nostra storia
  • Magazine
    • Agenda
    • Atlante
    • Il Faro
    • Il Chiasmo
    • Diritto
    • Il Tascabile
    • Le Parole Valgono
    • Lingua italiana
    • WebTv
  • Catalogo
    • Le Opere
    • Bottega Treccani
    • Gli Ebook
    • Le Nostre Sedi
  • Scuola e Formazione
    • Portale Treccani Scuola
    • Formazione Digitale
    • Formazione Master
    • Scuola del Tascabile
  • Libri
    • Vai al portale
  • Arte
    • Vai al portale
  • Treccani Cultura
    • Chi Siamo
    • Come Aderire
    • Progetti
    • Iniziative Cultura
    • Eventi Sala Igea
  • ACQUISTA SU EMPORIUM
    • Arte
    • Cartoleria
    • Design & Alto Artigianato
    • Editoria
    • Idee
    • Marchi e Selezioni
  • Accedi
    • Modifica Profilo
    • Treccani X
  • Ricerca
    • Enciclopedia
    • Vocabolario
    • Sinonimi
    • Biografico
    • Indice Alfabetico

Istituto della Enciclopedia Italiana fondata da Giovanni Treccani S.p.A. © Tutti i diritti riservati

Partita Iva 00892411000

  • facebook
  • twitter
  • youtube
  • instagram
  • Contatti
  • Redazione
  • Termini e Condizioni generali
  • Condizioni di utilizzo dei Servizi
  • Informazioni sui Cookie
  • Trattamento dei dati personali