Я действительно смущен концепцией делегатов и протоколов. Являются ли они эквивалентными интерфейсам и классам адаптеров в Java? Как они работают? Ни один из ресурсов, которые я прочитал, пока не был полезен. "Делегирование - это простой и мощный шаблон, в котором один объект в программе действует от имени или по согласованию с другим объектом. Делегирующий объект сохраняет ссылку на другой объект - делегат - и в соответствующее время отправляет сообщение к нему". Я без понятия что это значит. Может кто-нибудь объяснить, что это такое и дать простой пример? Спасибо заранее!
ИЗМЕНИТЬ:
Насколько я понимаю,
1) делегаты реализуют протоколы (другое имя для интерфейсов)
2) объект регистрирует делегат (который реализует протокол)
3) объект может вызывать методы протокола для делегата
Следовательно, делегат соединяет объект с протоколом.
Пожалуйста, поправьте меня, если я ошибаюсь.
Я все еще не понимаю, почему сам объект не может реализовать протокол? Это могло быть намного проще!