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ę.