Wywołanie zwrotne

Wikipedia:Weryfikowalność
Ten artykuł od 2018-04 wymaga zweryfikowania podanych informacji.
Należy podać wiarygodne źródła w formie przypisów bibliograficznych.
Część lub nawet wszystkie informacje w artykule mogą być nieprawdziwe. Jako pozbawione źródeł mogą zostać zakwestionowane i usunięte.
Sprawdź w źródłach: Encyklopedia PWN • Google Books • Google Scholar • Federacja Bibliotek Cyfrowych • BazHum • BazTech • RCIN • Internet Archive (texts / inlibrary)
Po wyeliminowaniu niedoskonałości należy usunąć szablon {{Dopracować}} z tego artykułu.
Na tę stronę wskazuje przekierowanie z „callback”. Zobacz też: call back – sposób inicjowania połączeń telekomunikacyjnych polegający na zwrotnym oddzwanianiu.

Wywołanie zwrotne (ang. callback) jest to technika programowania będąca odwrotnością wywołania funkcji. Zwykle korzystanie z właściwości konkretnej biblioteki polega na wywołaniu funkcji (podprogramów) dostarczanych przez tę bibliotekę. W tym przypadku jest odwrotnie: użytkownik jedynie rejestruje funkcję do późniejszego wywołania, natomiast funkcje biblioteki wywołają ją w stosownym dla siebie czasie.

Najważniejszymi pojęciami są rejestracja oraz wywołanie zwrotne. Kiedy następuje wywołanie zwrotne, funkcja, która je wykonuje, nie wie nic o tym, co się zdarzy; to zależy od tego, co zostało zarejestrowane do wywołania.

Wywołania zwrotne mają również swoje specjalizacje. Jedną z najpopularniejszych specjalizacji wywołań zwrotnych jest polimorfizm, implementowany najczęściej w programowaniu obiektowym. Rejestrowanie funkcji polega na stworzeniu własnej klasy na bazie innej klasy oraz przedefiniowaniu w niej odpowiedniej metody tak, aby wykonywała ona inne czynności, niż to jest założone w jej klasie bazowej. Wywołanie zwrotne odbywa się wtedy w ten sposób, że inna funkcja woła metodę na podanym obiekcie, ale faktyczna procedura, która zostanie wywołana, może być różna, w zależności od tego, jakiej klasy jest podany obiekt.

Inną specjalizacją jest mechanizm sygnałów i slotów, w którym procedura obsługi, zwana tutaj slotem, może być podłączana (czyli rejestrowana) do danego sygnału. Wywołanie sygnału zaś stanowi wtedy wywołanie zwrotne.