Sobes.tech
Junior — Middle

Можеш ли да наведеш пример апстрактне класе у објектно-оријентисаном програмирању?

sobes.tech АИ

Одговор од АИ

Apstraktna klasa je klasa koja nije namenjena za direktno kreiranje instanci, već služi kao osnovna klasa za druge klase. Može sadržavati implementirane metode kao i apstraktne (bez implementacije) koje moraju biti implementirane u podklasama.

Primer apstraktne klase u Javi (Android):

public abstract class Animal {
    // Apstraktna metoda — mora biti implementirana u podklasama
    public abstract void makeSound();

    // Obična metoda sa implementacijom
    public void sleep() {
        System.out.println("Životinja spava");
    }
}

public class Dog extends Animal {
    @Override
    public void makeSound() {
        System.out.println("Vau!");
    }
}

// Upotreba
Animal dog = new Dog();
dog.makeSound(); // Ispisaće: Vau!
dog.sleep();     // Ispisaće: Životinja spava

U ovom primeru, Animal je apstraktna klasa sa apstraktnom metodom makeSound(). Klasa Dog nasleđuje Animal i implementira ovu metodu.