Kaj je abstraktni tip podatkov?

V računalniškem programiranju obstaja veliko vrst spremenljivk, funkcij in podatkovnih tipov. Abstraktni podatkovni tip je spremenljivka, ki se lahko spreminja glede na pogoje v programu. To je objektno usmerjen programski model, ki omogoča ponovno uporabo kode z ustvarjanjem sloja abstrakcije. Ta tip podatkov se pogosto uporablja v programskih jezikih C++ in Java® in velja za napredno razvojno tehniko.

Abstraktni podatkovni tip se šteje za definicijo najnižjega skupnega imenovalca določenega niza ali podatkovne strukture. Ta vrsta podatkov mora vključevati osnovne operacije, ki omogočajo spreminjanje vrednosti podatkov znotraj te strukture. Podatkovni tip lahko uporabljajo podobni tipi podatkov z dedovanjem, zaradi česar so operacije razširljive na potomce.

Primer, ki se pogosto uporablja za opis abstraktnih tipov podatkov, so predmeti seznama in čakalne vrste. To so predmeti, ki ohranjajo informacije na linearni način, podobno kot preglednica s podatki. Tako seznam kot objekt čakalne vrste upravljata nize podatkov in uporabljata funkcije za manipulacijo teh podatkov. Z ustvarjanjem abstraktnega podatkovnega tipa za upravljanje nizov podatkov lahko tako seznam kot objekt čakalne vrste uporabljata iste funkcije razvrščanja.

Abstrakcija se nanaša na ideje, ki so virtualne ali nepopolne. Abstraktni podatkovni tip je vrsta podatkov, ki je skeletna oblika dejanske podatkovne strukture. Zasnovan je kot okostje, ki omogoča ponovno uporabo funkcij glede na specifične potrebe programa.

Abstraktnega podatkovnega tipa ni mogoče uporabiti, ne da bi ga najprej dodelili konkretnemu podatkovnemu tipu. To je skeletna podatkovna struktura predhodnika, ki jo je treba ob ustvarjanju pretvoriti v pravi podatkovni tip. Okostje se nato uporabi z dostopom do funkcij, ki so na voljo v podedovani konkretni izvedbi. Abstraktni razred definira vmesnike in funkcije, ki jih lahko uporabljajo potomci.

Zaradi abstrakcije v programski opremi je program bolj prilagodljiv za prihodnje spremembe. Ta abstrakcijski sloj zagotavlja območje za ustvarjanje generičnih funkcij in njihovo uporabo v celotni aplikaciji. Programski jezik Java® to doseže z vmesniki in funkcionalnimi metodami v abstraktnem sloju.
Abstraktni podatkovni tip se lahko uporablja tudi pri izvajanju objektne baze podatkov. To je hierarhična zasnova baze podatkov, ki temelji na objektih in odnosih med starši in otroki. Znotraj objektne baze podatkov lahko načela in abstraktni tip podatkov prevzamejo več oblik. To omogoča shranjevanje več vrst podatkov v strukturi baze podatkov.