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() // გამოტანა: ძინავს
}