Sobes.tech
Junior — Middle

Koje su glavne funkcije i primene apstraktnih klasa u objektno-orijentisanom programiranju?

sobes.tech АИ

Одговор од АИ

Apstraktne klase u objektno-orijentisanom programiranju su klase koje nisu namenjene za direktno kreiranje instanci, već služe kao osnovni šabloni za druge klase.

Glavne funkcije apstraktnih klasa:

  • Definisanje zajedničkog interfejsa i osnovnog ponašanja za grupu povezanih klasa.
  • Mogućnost deklarisanja apstraktnih metoda (bez implementacije), koje moraju biti implementirane od strane podklasa.
  • Omogućavaju delimičnu implementaciju funkcionalnosti koju nasleđuju podklase.

Primena:

  • Kada je potrebno uspostaviti zajednički ugovor za različite implementacije.
  • Kada je deo logike zajednički, a deo mora biti implementiran u naslednicima.

Primer u Javi:

abstract class Animal {
    abstract void makeSound(); // apstraktna metoda
    void breathe() {
        System.out.println("Diše");
    }
}

class Dog extends Animal {
    void makeSound() {
        System.out.println("Vau-vau");
    }
}

Ovde, Animal se ne može direktno kreirati, ali se može kreirati Dog koji implementira metodu makeSound.