Sobes.tech
Junior — Middle

Czy możesz podać przykład klasy abstrakcyjnej w programowaniu obiektowym?

sobes.tech AI

Odpowiedź od AI

Klasa abstrakcyjna to klasa, która nie jest przeznaczona do tworzenia bezpośrednich instancji, lecz służy jako klasa bazowa dla innych klas. Może zawierać zarówno zaimplementowane metody, jak i metody abstrakcyjne (bez implementacji), które muszą być zaimplementowane w podklasach.

Przykład klasy abstrakcyjnej w Java (Android):

public abstract class Animal {
    // Metoda abstrakcyjna — musi być zaimplementowana w podklasach
    public abstract void makeSound();

    // Zwykła metoda z implementacją
    public void sleep() {
        System.out.println("Animal śpi");
    }
}

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

// Użycie
Animal dog = new Dog();
dog.makeSound(); // Wypisze: Hau!
dog.sleep();     // Wypisze: Animal śpi

W tym przykładzie Animal jest klasą abstrakcyjną z abstrakcyjną metodą makeSound(). Klasa Dog dziedziczy po Animal i implementuje tę metodę.