Sobes.tech
Junior — Middle

Koja je uloga i svrha apstraktnih klasa u objektno-orijentisanom programiranju?

sobes.tech АИ

Одговор од АИ

Apstraktne klase u objektno-orijentisanom programiranju služe kao šabloni za kreiranje drugih klasa. One se ne mogu direktno instancirati i obično sadrže kako implementirane metode, tako i apstraktne (bez implementacije), koje moraju biti prepisane u podklasama. Ovo omogućava definisanje zajedničkog interfejsa i osnovnog ponašanja, pružajući istovremeno fleksibilnost za specifične implementacije.

Primer u Kotlinu (Android):

abstract class Animal {
    abstract fun makeSound()
    fun sleep() {
        println("Spava")
    }
}

class Dog : Animal() {
    override fun makeSound() {
        println("Gug-gug")
    }
}

Ovde je Animal apstraktna klasa koja definiše opšti ugovor za sve životinje, a Dog implementira specifično ponašanje zvuka.