Наследование и делегирование - это два разных подхода в объектно-ориентированном программировании. Наследование позволяет создавать новые классы на основе уже существующих, которые наследуют все поля и методы базового класса. Наследование устанавливает иерархию классов, где каждый производный класс является специализацией базового класса. Наследование может привести к проблемам, таким как ненужное увеличение размера классов и сложность в поддержке и изменении кода. Делегирование, с другой стороны, позволяет классу передать выполнение некоторых задач другому объекту. Класс-делегат содержит ссылку на объект-делегата и вызывает его методы при необходимости...
Делегирование — один из важных приёмов разработки и уж точно самый полезный при работе с DOM. При этом подходе слушатель событий прикрепляется к родительскому элементу, а не к прослушиваемому, а в функции обратного вызова убираются любые события, происходящие с элементами, которые не нужны. Такой приём в основном используют, если есть много элементов, на которых нужно отработать события похожим образом. Делегирование позволяет ставить один обработчик на общего предка и это очень облегчает работу...