насчет классов - представь, что ты разрабатываешь многопользовательскую игру
Вместо того, чтобы прописывать кажого игрока - ты создаешь класс Игрок, а вот уже в этом классе каждый пользователь получает объект Player, который обладает свойствами, полученными от родительского объекта. Например базовые характеристики в том же варкрафте