У меня есть следующий абстрактный класс:
abstract class AbstractBook {
abstract val type: String
abstract val privateData: Any
abstract val publicData: Any
}
и следующий класс, который наследует класс AbstactBook:
data class FantasyBook (
override val type: String = "FANTASY",
override val privateData: FantasyBookPrivateData,
override val publicData: FantasyBookPublicData
) : AbstractBook()
А затем есть этот класс, который должен включать данные из любоготип AbstractBook:
data class BookState(
val owner: String,
val bookData: AbstractBook,
val status: String
)
Если у меня есть экземпляр BookState
, как мне проверить, какой это type
объекта Book, и затем получить доступ к соответствующим переменным FantasyBookPrivateData
и FantasyBookPublicData
?
Надеюсь, я хорошо описал свою проблему и заранее благодарю за любую помощь!