Я бы хотел сделать API класса составного кейса чище.Итак, рассмотрим модифицированную версию классического примера:
case class Address(street: String, city: String, zip: String) {
some large collection of methods
}
case class Person(name: String, address: Address) {
val street = address.street
val city = address.city
val zip = address.zip
}
Теперь мне это нравится, потому что вы можете получить информацию об адресе непосредственно от такого человека, как person.city
вместо того, чтобы требовать person.address.city
Однако, если мы представим, что в классе Address
имеется большое количество значений или методов, и было бы утомительно val x = address.x
в классе Person.Есть ли какой-либо способ прямого доступа к полю, значениям и методам в адресе от человека без сопоставления их всех вручную?