Il binding dinamico è un altro nome per Late Binding. È qui che la lingua lega un elemento dati o un metodo a un oggetto dopo il tempo di compilazione.
Wikipedia equivale a dinamica e amp; rilegatura in ritardo:
- Dynamic binding (computing), also known as late binding
collegamenti a
link
Javascript è stata la mia prima esposizione a questo, perché puoi semplicemente abbandonare le funzioni in oggetti volenti o nolenti e fare cose interessanti con loro.
Ad esempio (non testato, non garantito per funzionare esattamente):
var a = Object();
var do = function() { do something };
a.do = do;
a.do();
// neato!
BTW, a margine, c'è qualche dubbio sul fatto che Java sia orientato agli oggetti, perché una delle idee originali in OO era l'associazione tardiva. Sfortunatamente, questa particolare discussione sembra devolvere nei tentativi di definire "Orientato agli oggetti".
link
lol!
Sotto le copertine, Dynamic Dispatch e Dynamic Binding potrebbero funzionare allo stesso modo. Ma l'idea nel dispatch dinamico sta seguendo un puntatore di funzione per vedere quale metodo invocare effettivamente, o oggetto per invocarlo. "Binding" è l'idea che il metodo è "vincolato" a una particolare istanza (o classe di istanze) & è così che lo identifichi.
Quindi potrebbero lavorare insieme: un metodo associato a un oggetto con associazione dinamica potrebbe utilizzare l'invio dinamico quando lo chiami.
...
Anche il dispatch dinamico ha più di un sapore OO ad esso ... è il meccanismo dietro il polimorfismo, in cui un riferimento a un oggetto potrebbe puntare a una delle molteplici implementazioni. La spedizione dinamica decide in fase di esecuzione quale deve effettivamente essere eseguito. Al contrario, l'associazione tardiva sarebbe caduta in metodi completamente nuovi che non erano presenti in fase di compilazione.