Junior — Middle
Είναι δυνατή η αρχικοποίηση ενός αντικειμένου μιας κλειστής κλάσης στο Kotlin;
sobes.tech AI
Απάντηση από AI
Στην Kotlin, μια sealed class (κλειστή κλάση) είναι μια κλάση με ένα περιορισμένο σύνολο υποκλάσεων, ορισμένων στο ίδιο αρχείο. Η ίδια η sealed class είναι συνήθως αφηρημένη και δεν μπορεί να δημιουργηθεί άμεσα.
Μπορούν να δημιουργηθούν μόνο οι υποκλάσεις της, που υλοποιούν συγκεκριμένα την sealed class. Για παράδειγμα:
sealed class Result {
data class Success(val data: String) : Result()
object Failure : Result()
}
val result1: Result = Result.Success("OK")
val result2: Result = Result.Failure
Έτσι, δεν μπορεί να δημιουργηθεί άμεσα ένα αντικείμενο της sealed class, αλλά μπορούν να δημιουργηθούν αντικείμενα των υποκλάσεών της.