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.