Junior — Middle
Jakie są główne funkcje i zastosowania klas abstrakcyjnych w programowaniu obiektowym?
sobes.tech AI
Odpowiedź od AI
Klasy abstrakcyjne w programowaniu obiektowym to klasy, które nie są przeznaczone do tworzenia instancji bezpośrednio, lecz służą jako podstawowe szablony dla innych klas.
Główne funkcje klas abstrakcyjnych:
- Definiowanie wspólnego interfejsu i podstawowego zachowania dla grupy powiązanych klas.
- Możliwość deklarowania metod abstrakcyjnych (bez implementacji), które muszą być zaimplementowane przez podklasy.
- Pozwalają na częściową implementację funkcjonalności, którą dziedziczą klasy potomne.
Zastosowanie:
- Gdy konieczne jest ustalenie wspólnego kontraktu dla różnych implementacji.
- Gdy część logiki jest wspólna, a inna musi być zaimplementowana w dziedziczących klasach.
Przykład w Java:
abstract class Animal {
abstract void makeSound(); // metoda abstrakcyjna
void breathe() {
System.out.println("Oddycha");
}
}
class Dog extends Animal {
void makeSound() {
System.out.println("Hau hau");
}
}
Tutaj, Animal nie może być tworzony bezpośrednio, ale można utworzyć Dog, który implementuje metodę makeSound.