Я новичок в Kotlin и обнаружил класс данных!
Итак, я использую классы данных для получения некоторой информации из JSON API, но я бы хотел обработать данныепрежде чем использовать его, чтобы сэкономить время и вычислительную мощность.
Чтобы упростить задачу, приведу простой пример:
data class UserApi(val name: String, val born: Int)
Как я уже сказал, я получаю данные отJSON API, но создание пользователя программно будет выглядеть так:
val userApi: UserApi = UserApi("Catelyn", 1990)
Теперь вместо расчета возраста пользователя каждый раз:
"currentYear - userApi.born" // Calculating an approximate age
Ofc без измененияAPI, я просто хотел бы получить неизменный val как это:
userApi.age
Возможно ли это?Я думаю что-то вроде:
interface UserApi {
val name: String
val born: Int
}
data class User(override val name: String, override val born: Int) : UserApi {
// Calculating an approximate age
val age: Int = "currentYear - userApi.born"
}
val user: User = User("Catelyn", 1990) // Or get the data from an API.
// Getting the age of the User like this:
user.age // Same as "currentYear - userApi.born".
Что-то вроде этого, путь?