На этом шаге мы рассмотрим способ создания экземпляра класса.
Объявленный класс похож на чертеж. Чертеж содержит информацию о том, как построить здание, но сам он не здание. Объявление класса Player работает похожим образом: до настоящего момента игрок не был создан - вы создали только его проект.
Когда вы начинаете новую игру в NyetHack, вызываются функция main() и один из первых объектов, которые нужно создать. В данном случае это игровой персонаж. Чтобы сконструировать героя, которого можно использовать в NyetHack, сначала нужно создать его экземпляр, вызвав конструктор. В Game.kt, где переменные объявлены в функции main(), создайте экземпляр Player, как показано ниже.
fun main() { val name = "Madrigal" var healthPoints = 89 val isBlessed = true val isImmortal = false val player = Player() // Аура val auraColor = auraColor(isBlessed, healthPoints, isImmortal) . . . . }
Рис.1. Создание экземпляра Player (Game.kt)
Вы вызвали главный конструктор Player, добавив скобки после имени класса Player. Это действие создает экземпляр класса Player. Переменная player теперь "содержит экземпляр класса Player".
Имя "конструктор" говорит само за себя: он создает. Если конкретнее, он создает экземпляр и готовит его к использованию. Синтаксис вызова конструктора похож на вызов функции: он использует скобки для передачи аргументов его параметров. Другие способы создания экземпляра класса мы рассмотрим позже.
Посмотрим, что можно сделать с созданным экземпляром класса.
На следующем шаге мы рассмотрим функции класса.