data class AnonymousUser(sessionId: String): User
data class AuthorizedUser(sessionId: String, login: String, role: Role): User
}
val user: User = ???
when(user) {
AnonymousUser(sessionId) -> ???
AuthorizedUser(sessionId, _, Role.User) -> ???
AuthorizedUser(sessionId, _, Role.Manager) -> ???
AuthorizedUser(sessionId, login, Role.Admin) -> ???
}
Имеет место быть?
Воооот, вот об этом я и говорил
Такое можно и без патмата норм изобразить
Обсуждают сегодня