Nwlapcug.com


Che cosa significa "Per associare" in un Computer?

In informatica, un "compilatore" prende programmatore codice sorgente e lo trasforma in codice leggibile dal computer. Il compilatore prende le variabili e i nomi di funzione nel codice sorgente e li lega agli indirizzi in memoria che contengono i dati da tali variabili e funzioni. In questo modo, il computer sa quando e dove fare riferimento a valori e dati. Con la programmazione orientata agli oggetti, il compilatore può associare dinamicamente nomi di valori o posizioni di memoria, al fine di consentire la flessibilità nell'assegnazione dell'oggetto tramite l'associazione dinamica.

Le variabili e i riferimenti

Nel computer programmazione, "associazione" si riferisce a entrambe le variabili e i riferimenti. Quando un compilatore "associa" un nome di variabile, si traduce direttamente tale nome della variabile per un indirizzo del computer che conterrà tale valore. Il tipo di variabile detterà come quel valore verrà utilizzato. Una normale variabile conterrà un valore letterale per il programma, mentre una variabile di riferimento, anche conosciuto come un puntatore, conterrà un indirizzo in memoria.

Riferimenti a oggetti

Allocazione dinamica della memoria per gli oggetti più vengono utilizzati riferimenti al puntatore. Gli oggetti possono essere creati in un contesto locale basato sul programma o della funzione, ma spesso i programmatori creerà un riferimento a un oggetto in memoria a lungo termine che può essere utilizzato nel corso di un programma senza copiarlo. Questi riferimenti vengono mappati per fare riferimento a nomi come altre variabili.

Ma l'ereditarietà degli oggetti introduce un nuovo tipo di associazione che facilita alcuni paradigmi di programmazione orientata agli oggetti.

Classi ed ereditarietà

Le classi rappresentano progetti iniziali degli oggetti, definire che tipo di dati che contengono e quello che fanno. Tuttavia, altre classi possono "ereditare" funzionalità e dati da altre classi durante l'implementazione le loro caratteristiche. Così, ad esempio, una classe "SoccerBall" potrebbe ereditare da una classe base "palla" affinché possa utilizzare i dati e le funzioni di una palla allargando la definizione della classe per abbinare un pallone da calcio nel programma. Nella terminologia di programmazione, questa relazione è denomina una relazione "è-a", in quanto un pallone "è" una palla. Il concetto di ereditarietà illustra due diversi tipi di associazione: associazione statica e tardiva.

Binding dinamico

Binding anticipato o statico significa che il compilatore associa un nome di variabile o riferimento a un oggetto quando il programma viene compilato. Così funzioni e variabili all'interno di classi verranno associate a un nome in fase di compilazione. Associazione dinamica, o tardivo, significa che l'associazione avviene durante la fase di esecuzione. Una classe che eredita che condivide una relazione "è-a" con un'altra classe, come nell'esempio delle classi palla e pallone, può ridefinire funzioni dalla relativa classe di base per soddisfare le proprie esigenze. Questo lascerà due funzioni diverse per le diverse classi: uno per la base e uno per la classe che eredita. Associazione tardiva verrà associato il nome della funzione per la sua posizione di codice appropriato basato su quale oggetto è associato.