Junior — Middle
Можете ли објаснити шта значи појам апстрактне класе у објектно оријентисаном програмирању?
sobes.tech АИ
Одговор од АИ
Apstraktna klasa u objektno-orijentisanom programiranju je klasa koja nije namenjena za direktno kreiranje instanci. Ona služi kao šablon za druge klase i može sadržavati kako implementirane metode, tako i apstraktne (bez implementacije), koje moraju biti implementirane u podklasama.
Na primer, u Dart (jezik Flutter), apstraktna klasa se deklarise pomoću ključne reči abstract:
abstract class Animal {
void makeSound(); // apstraktna metoda
void breathe() {
print('Diše'); // implementirana metoda
}
}
class Dog extends Animal {
@override
void makeSound() {
print('Hau');
}
}
void main() {
// Animal animal = Animal(); // Greška: ne može se kreirati instanca apstraktne klase
Dog dog = Dog();
dog.makeSound(); // Hau
dog.breathe(); // Diše
}
Na ovaj način, apstraktna klasa definiše opšti interfejs i osnovnu funkcionalnost, dok konkretne klase implementiraju detalje.