Когда вы читаете, он «конвертирует» отправителя в Player, не думайте, что он буквально конвертирует их.
Часто вы передаете переменную, которая МОЖЕТ быть множеством разных вещей, тогда, когда вы выясняетечто это такое, вы используете оператор приведения к действию, чтобы фактически СДЕЛАТЬ одну из этих вещей.
Вот несовершенная аналогия:
Представьте, что вам позвонил президент местного компьютерного клуба, говорит ончто член клуба будет приходить к вам по поводу чего-то.
Теперь вы не знаете, какой член придет, если его женщина или мужчина, сколько лет или даже его имя, вы ничего не знаете оатрибуты будущих посетителей.
Как только они появятся у вашей двери, вы поймете, что ваш приятель Фрэнк, теперь у вас на уме, «посетитель» (отправитель) из кода выше, является CAST для «Фрэнка», которого вызнаю много вещей о возрасте, возрасте, количестве детей, адресе и т. д.
До CAST вы очень мало знали об отправителе, но после каста вы можете получить доступ ко всем видам информации.о новом объекте, поскольку теперь вы знаете его ТИП.
Надеюсь, это поможет.