Sobes.tech
Junior — Middle

გთხოვთ, ახსნათ, რა არის აბსტრაქტული კლასი და როგორ განსხვავდება ჩვეულებრივი კლასისგან.

sobes.tech AI

პასუხი AI-სგან

აბსტრაქტული კლასი არის კლასი, რომელიც პირდაპირ ინიციალიზაციას არ განიხილავს. მისი ძირითადი მიზანია სხვა კლასებისთვის ბაზის შექმნა. აბსტრაქტულ კლასში შეიძლება იყოს აბსტრაქტული მეთოდები — მეთოდები, რომლებიც არ აქვს რეალიზაცია და რომლებიც უნდა განხორციელდეს ქვესკლასებში.

სხვაობა ჩვეულებრივ კლასთან:

  • აბსტრაქტული კლასის ობიექტის პირდაპირ შექმნა შეუძლებელია.
  • მას შეუძლია შეიცავდეს აბსტრაქტულ მეთოდებს.
  • გამოიყენება საერთო ინტერფეისის და ქცევის განსაზღვრად ჯგუფის ქვესკლასებისთვის.

Kotlin-ის (Android) მაგალითი:

abstract class Animal {
    abstract fun makeSound()

    fun sleep() {
        println("ძინავს")
    }
}

class Dog : Animal() {
    override fun makeSound() {
        println("ჰაუ")
    }
}

fun main() {
    val dog = Dog()
    dog.makeSound()  // გამოტანა: ჰაუ
    dog.sleep()      // გამოტანა: ძინავს
}