b"\n_START_ARTICLE_\nBinding\n_START_PARAGRAPH_\nIn informatica il binding \xc3\xa8 il processo tramite cui viene effettuato il collegamento fra una entit\xc3\xa0 di un software ed il suo corrispettivo valore._NEWLINE_Nei termini della programmazione a oggetti, la decisione circa l'attributo o il metodo da richiamare in un dato momento dell'esecuzione del programma viene effettuata grazie al binding._NEWLINE_Tale decisione pu\xc3\xb2 essere stata stabilita in anticipo in maniera fissa, e in tal caso si parla di binding statico (o early binding); oppure pu\xc3\xb2 essere presa a tempo di esecuzione, in maniera dinamica, e in tal caso si parla di binding dinamico (o late binding).\n_START_SECTION_\nTipi di binding\n_START_PARAGRAPH_\nRispetto alla definizione generale di binding, uno dei pi\xc3\xb9 importanti discriminanti \xc3\xa8 il momento in cui il binding stesso viene stabilito, cio\xc3\xa8 il binding time. Da questo punto di vista e, in particolare, nei termini dei linguaggi compilati, si pu\xc3\xb2 distinguere fra binding effettuato prima, durante o dopo la compilazione.\n_START_SECTION_\nBinding implicito nella definizione del linguaggio\n_START_PARAGRAPH_\nNella definizione del linguaggio di programmazione vengono definiti i tipi delle variabili, nonch\xc3\xa9 le operazioni matematiche a cui le variabili potranno essere sottoposte.\n_START_SECTION_\nBinding stabilito durante l'implementazione del linguaggio\n_START_PARAGRAPH_\nSiccome una singola specifica di linguaggio pu\xc3\xb2 avere molteplici implementazioni, ogni diversa implementazione pu\xc3\xb2 prevedere una diversa controparte matematica dei tipi. Il binding stabilito durante l'implementazione specifica l'insieme dei valori rappresentabili da un dato tipo sulla base dello spazio di memoria riservato alle variabili di quel dato tipo.\n_START_SECTION_\nBinding statico\n_START_PARAGRAPH_\nBinding statico, o early binding \xc3\xa8 il binding stabilito a tempo di compilazione._NEWLINE_Nel binding statico i tipi delle variabili sono determinati univocamente, e quindi vengono determinate univocamente le operazioni che possono essere effettuate sulle variabili; il compilatore genera il codice per chiamare un dato metodo ogni volta che quel metodo viene applicato ad un dato oggetto; questa associazione non pu\xc3\xb2 essere pi\xc3\xb9 modificata durante l'esecuzione._NEWLINE_In alcuni linguaggi, come in C, vi \xc3\xa8 la possibilit\xc3\xa0 di creare nuovi tipi definiti dall'utente; in questo caso, il programmatore scrive nel codice una apposita dichiarazione di tipo che, una volta letta dal compilatore, permette a quest'ultimo di associare le variabili del nuovo tipo ai valori corrispondenti, sempre in maniera univoca._NEWLINE_In Pascal il programmatore non solo ha la possibilit\xc3\xa0 di definire nuovi tipi, ma anche di ridefinire i tipi esistenti nel linguaggio (p.es. il tipo intero); in questo caso, il binding del tipo effettuato durante l'implementazione del linguaggio viene modificato dal binding effettuato all'atto della compilazione del programma (dopodich\xc3\xa9 non pu\xc3\xb2 essere pi\xc3\xb9 modificato, a meno di riscrivere il codice sorgente)._NEWLINE_In linguaggi come il C++ il programmatore non solo ha la possibilit\xc3\xa0 di definire nuovi tipi, ma anche di ridefinire gli operatori stessi del linguaggio."