Перейти к содержанию

🗒 Задача

Создай класс игрока, который аналогичен классу Player из задания 20-2. Помимо имени у игрока должны быть поля с текущим и максимальным здоровьем. Предположим, что у нас нет возможности редактировать класс (нельзя добавлять новые функции в класс Player).

Требуется реализовать функцию-расширение isHealthy для этого класса, которая будет возвращать true, если здоровье игрока равно максимальному здоровью, и false в противном случае.

❌ Ошибки

✏️ Комментарии

Да, все верно! При помощи функций-расширения ты можешь дополнять функционал классов, даже если они не доступны тебе для редактирования

🧾 Решение

class Player(val name: String, val maxHealth: Int, var health: Int)

fun Player.isHealthy(): Boolean {
    return health == maxHealth
}

fun main() {
    val player = Player("Dragula", 20, 20)
    println(player.isHealthy()) 
}