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.

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.