Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ktOpOcObj 84 of 123 menu
◀ ▶

Object declaration в Kotlin

Object declaration записывается как object, имя и блок в фигурных скобках. Внутри допустимы свойства, функции и блок init - как у обычного класса, но снаружи существует ровно один такой объект:

object Logger { fun log(message: String) { println("[log] $message") } } fun main() { Logger.log("ready") }

Имя после object одновременно имя типа и имя единственного значения. Обращение Logger.log(...) не создаёт новый объект при каждом вызове - используется уже созданный экземпляр.

На верхнем уровне файла можно объявить несколько разных object - например, отдельный набор функций для строк и отдельный для чисел:

object TextOps { fun repeatLine(text: String, times: Int): String = List(times) { text }.joinToString("\n") } object NumOps { fun clamp(value: Int, min: Int, max: Int): Int = value.coerceIn(min, max) } fun main() { println(TextOps.repeatLine("go", 2)) println(NumOps.clamp(15, 0, 10)) }

Модификатор object удобен, когда нужен один именованный набор операций без привязки к конкретному классу данных. Если логика относится к одному типу и его экземплярам, те же члены кладут в companion object этого типа.

Сделайте object Printer с методом line(text: String), который выводит строку. Вызовите Printer.line("ok") из main.

Сделайте object MathBox с функцией square(n: Int): Int. Выведите MathBox.square(7).

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить