Junior — Middle
რა არის დახურული კლასი და რა არის მისი ძირითადი უპირატესობები და მახასიათებლები?
sobes.tech AI
პასუხი AI-სგან
დაკეტილი კლასი (sealed class) არის სპეციალური კლასი Kotlin-ში (ხშირად გამოიყენება Android-ის განვითარებაში), რომელიც შეზღუდავს მემკვიდრეობის ჰიეარარქიას. მთავარი იდეა ის არის, რომ ყველა დაკეტილი კლასის ქვესაფარი უნდა იყოს გამოცხადებული იმავე ფაილში, სადაც თავად დაკეტილი კლასი.
უპირატესობები და მახასიათებლები:
- საშუალებას აძლევს კომპილატორს იცოდეს ქვესაფართოებების სრული სია, რაც ზრდის უსაფრთხოებას და კომფორტს
whenგამოთქმებთან მუშაობისას — კომპილატორი შემოწმებს, რომ ყველა ვარიანტი დამუშავებულია. - ადვილად მოდელირებს შეზღუდულ ჰიეარარქიებს, მაგალითად, მდგომარეობებს ან მოვლენებს.
- აკრძალავს ახალი ქვესაფართოების შექმნას ფაილს გარეთ, რაც ზრდის არქიტექტურის კონტროლს.
მაგალითი:
sealed class Result {
data class Success(val data: String) : Result()
data class Error(val error: Throwable) : Result()
}
fun handleResult(result: Result) {
when(result) {
is Result.Success -> println("მონაცემები: ${result.data}")
is Result.Error -> println("შეცდომა: ${result.error.message}")
}
}