Sobes.tech
Junior — Middle

Poți da un exemplu de clasă abstractă în programarea orientată pe obiecte?

sobes.tech AI

Răspuns de la AI

O clasă abstractă este o clasă care nu este destinată creării de instanțe direct, ci servește ca clasă de bază pentru alte clase. Poate conține atât metode implementate, cât și metode abstracte (fără implementare), care trebuie implementate în subclase.

Exemplu de clasă abstractă în Java (Android):

public abstract class Animal {
    // Metodă abstractă — trebuie implementată în subclase
    public abstract void makeSound();

    // Metodă obișnuită cu implementare
    public void sleep() {
        System.out.println("Animalul doarme");
    }
}

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

// Utilizare
Animal dog = new Dog();
dog.makeSound(); // Va afișa: Ham!
dog.sleep();     // Va afișa: Animalul doarme

În acest exemplu, Animal este o clasă abstractă cu o metodă abstractă makeSound(). Clasa Dog moștenește de la Animal și implementează această metodă.