OK, ora che Kotlin è ufficialmente uscito e sto iniziando a giocarci di nuovo, sono abbastanza confuso che devo scegliere tra i vantaggi di sealed
e data
ma in qualche modo non posso averli entrambi.Kotlin: la classe sigillata non può "contenere" classi di dati? Perché?
Questo, per esempio, sembra avere un senso per me, ma non può essere compilato:
sealed class Expr {
data class Const(val number: Double) : Expr()
data class Sum(val expr1 : Expr, val expr2 : Expr) : Expr()
}
perché le classi di dati non possono estendersi altre classi.
C'è qualcosa che mi manca?
Dal momento che Kotlin 1.1 è ora possibile https://kotlinlang.org/docs/reference/whatsnew11.html?q=da&p=0#sealed-and-data-classes. – Stim