Sovraccarico di Dispatch multipli e funzioni

14

Sto cercando di capire la differenza (se esiste) tra i due.

Secondo la pagina di Wikipedia per il dispiegamento multiplo è sinonimo di sovraccarico di funzioni, ma poi in seguito continua a dire :

In a language with only single dispatch, such as Java […]

che sembra una contraddizione, dal momento che Java supporta l'overloading delle funzioni.

Quindi qual è? La distribuzione multipla è diversa dalla funzione di sovraccarico o l'articolo non è corretto nel sostenere che Java non supporta il Multible Dispatch?

    
posta KaptajnKold 14.12.2011 - 12:57
fonte

1 risposta

16

L'invio multiplo non è (sempre) lo stesso dell'overloading di funzioni, sebbene presentino alcune somiglianze. E Java non supporta la distribuzione multipla.

Nei linguaggi tipizzati staticamente, incluso Java, la più grande differenza tra invio e sovraccarico è che il sovraccarico si basa sul tipo statico di parametri (ovvero la scelta del metodo effettivamente chiamato viene decisa in compilazione) tempo), mentre la spedizione è basata sui tipi dinamici (ovvero la decisione viene eseguita in runtime). (Tali lingue di solito non supportano la distribuzione multipla.)

Ma poi di nuovo, questa potrebbe essere una questione di terminologia. Nei linguaggi tipizzati dinamicamente, la distribuzione e il sovraccarico sembrano davvero ridursi alla stessa cosa.

    
risposta data 14.12.2011 - 13:18
fonte

Leggi altre domande sui tag