Co to jest abstrakcja w programowaniu obiektowym?
Abstrakcja polega na pokazaniu tylko najważniejszych cech obiektu i ukryciu szczegółów, które nie są potrzebne na danym poziomie programu. Dzięki temu programista może pracować na ogólnych pojęciach, bez analizowania całej implementacji.
Przykład
W systemie można mieć klasę Pojazd, która opisuje ogólne cechy pojazdu, np. możliwość jazdy. Szczegóły działania mogą być inne dla klas Samochod, Rower lub Autobus.
abstract class Pojazd {
abstract void jedz();
}
Klasa abstrakcyjna może definiować wspólne elementy, ale nie musi podawać pełnej implementacji wszystkich metod.
Abstrakcja a dziedziczenie
Abstrakcja pozwala tworzyć ogólny model problemu. Dziedziczenie pozwala klasom bardziej szczegółowym przejmować cechy klas ogólnych. Te mechanizmy często występują razem, ale oznaczają coś innego.
W egzaminie
Jeżeli pytanie dotyczy przejmowania właściwości jednej klasy przez drugą, poprawnym terminem jest dziedziczenie, a nie abstrakcja.