Junior — Middle
შესაძლებელია თუ არა sealed კლასი Kotlin-ში ობიექტის ინიციალიზაცია?
sobes.tech AI
პასუხი AI-სგან
Kotlin-შე, sealed კლასი (დაკეტილი კლასი) არის კლასი, რომელსაც აქვს შეზღუდული რაოდენობის მემკვიდრეები, რომლებიც განსაზღვრულია ერთ ფაილში. თვით sealed კლასი ჩვეულებრივ არის აბსტრაქტული და პირდაპირ ვერ იწარმოება.
მხოლოდ მისი მემკვიდრე კლასი, რომელიც კონკრეტულად ახორციელებს sealed კლასს, შეიძლება იწარმოოს. მაგალითად:
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 კლასის ობიექტი, მაგრამ მისი მემკვიდრე ობიექტების შექმნა შესაძლებელია.