Abstrakcja w programowaniu obiektowym

Słownik kwalifikacji INF.04 - Projektowanie, programowanie i testowanie aplikacji

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.