Свойства в заголовке data class в Kotlin
Свойства data class перечисляют в круглых
скобках сразу после имени типа - так же, как параметры
первичного конструктора с val или var
в обычном классе. После создания объекта к полям
обращаются по точке:
data class Point(val x: Int, val y: Int)
fun main() {
val p = Point(10, 20)
println(p.x)
println(p.y)
}
Ключевое слово val делает поле неизменяемым: присвоить
новое значение после создания нельзя. Ключевое слово var
разрешает менять поле у уже существующего объекта,
хотя для записей чаще оставляют только val
и обновляют данные методом copy:
data class Tag(val code: String, var hits: Int)
fun main() {
val tag = Tag("api", 0)
tag.hits = 5
println(tag.hits)
}
При создании можно указывать имена аргументов - они совпадают с именами свойств:
data class Book(val title: String, val pages: Int)
fun main() {
val book = Book(title = "Notes", pages = 120)
println(book.title)
}
Сделайте data class City с полями
name и population.
Создайте объект для города "Oslo"
с населением 700000 и выведите оба
поля в двух строках.
Сделайте data class Score с полями
player и points.
Дан объект:
val row = Score("Kim", 12)
Выведите на экран имя игрока и количество
очков из объекта row.