K
Kotlin | Вопросы собесов
@easy_kotlin2.5K подп.
552просмотров
22.0%от подписчиков
22 марта 2026 г.
questionScore: 607
🤔 Свойства какого вида можно добавить как расширение? В Kotlin можно добавлять свойства-расширения (extension properties), но только с кастомным get (геттером). 🚩Можно добавлять val с get() Расширяемые свойства могут быть только вычисляемыми (val), потому что нельзя создать field внутри расширения. val String.firstChar: Char get() = this[0] fun main() { println("Kotlin".firstChar) // K } 🚩var работает только с get() и set() Для var нужно и get(), и set(), но всё равно нельзя использовать field. var StringBuilder.lastChar: Char get() = this[length - 1] set(value) { this.setCharAt(length - 1, value) } fun main() { val sb = StringBuilder("Hello") println(sb.lastChar) // o sb.lastChar = '!' println(sb) // Hell! } 🚩Нельзя создавать свойства с field Такой код НЕ скомпилируется! var String.someProperty: String = "Default" // Ошибка! Ставь 👍 и забирай 📚 Базу знаний
552
просмотров
960
символов
Да
эмодзи
Нет
медиа

Другие посты @easy_kotlin

Все посты канала →
🤔 Свойства какого вида можно добавить как расширение? В Kot — @easy_kotlin | PostSniper