Объект внутри объекта в Kotlin
Свойство класса может иметь тип другого класса. Тогда у объекта хранится не строка или число, а ссылка на вложенный экземпляр:
class City(val name: String)
class User(val name: String, val surn: String, val city: City)
fun main() {
val city = City("Paris")
val user = User("john", "smit", city)
println(user.city.name)
}
К вложенному объекту обращаются цепочкой свойств после точки:
class City(val name: String)
class User(val name: String, val city: City)
fun main() {
val user = User("john", City("Paris"))
println(user.name)
println(user.city.name)
}
Один и тот же объект City можно передать нескольким
пользователям - у каждого в свойстве будет ссылка на тот же город:
class City(val name: String)
class User(val name: String, val city: City)
fun main() {
val paris = City("Paris")
val u1 = User("john", paris)
val u2 = User("eric", paris)
println(u1.city.name)
println(u2.city.name)
}
Сделайте класс Department с названием отдела.
Сделайте класс Employee с именем, должностью
и объектом Department.
Создайте объект Employee и выведите
имя работника и название его отдела.
Сделайте класс Address с городом и улицей.
Сделайте класс Client с именем и свойством
Address. Выведите улицу клиента одним
выражением.