Sobes.tech
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}")
    }
}