Što je apstraktni tip podataka?

U računalnom programiranju postoji mnogo vrsta varijabli, funkcija i tipova podataka. Apstraktni tip podataka je varijabla koja se može mijenjati na temelju uvjeta unutar programa. Ovo je objektno orijentirani model programiranja koji omogućuje ponovnu upotrebu koda stvaranjem sloja apstrakcije. Ovaj tip podataka se često koristi u programskim jezicima C++ i Java® i smatra se naprednom razvojnom tehnikom.

Apstraktni tip podataka smatra se definicijom najnižeg zajedničkog nazivnika određenog skupa ili strukture podataka. Ovaj tip podataka trebao bi uključivati ​​osnovne operacije kako bi se omogućila izmjena vrijednosti podataka unutar te strukture. Tip podataka mogu se koristiti sličnim tipovima podataka putem nasljeđivanja, što čini operacije proširivim na potomke.

Primjer koji se često koristi za opisivanje apstraktnih tipova podataka su objekti popisa i reda čekanja. To su objekti koji održavaju informacije na linearan način, slično proračunskoj tablici podataka. I popis i objekt reda čekanja upravljaju skupovima podataka i koriste funkcije za manipuliranje tim podacima. Stvaranjem apstraktnog tipa podataka za upravljanje skupovima podataka, i popis i objekt reda mogu koristiti iste funkcije sortiranja.

Apstrakcija se odnosi na ideje koje su virtualne ili nepotpune. Apstraktni tip podataka je tip podataka koji je kosturni oblik stvarne strukture podataka. Dizajniran je kao kostur koji omogućuje ponovnu upotrebu funkcija na temelju specifičnih potreba programa.

Apstraktni tip podataka ne može se koristiti bez prethodnog dodjeljivanja konkretnom tipu podataka. Ovo je struktura podataka prekursorskog kostura koja se mora pretvoriti u stvarni tip podataka kada se kreira. Kostur se tada koristi za pristup funkcijama dostupnim u naslijeđenoj konkretnoj implementaciji. Apstraktna klasa definira sučelja i funkcije koje mogu koristiti klase potomke.

Apstrakcija unutar softvera čini program fleksibilnijim za buduće izmjene. Ovaj sloj apstrakcije pruža područje za stvaranje i korištenje generičkih funkcija u cijeloj aplikaciji. Programski jezik Java® to postiže kroz sučelja i funkcionalne metode u apstraktnom sloju.
Apstraktni tip podataka također se može koristiti u implementaciji baze podataka objekata. Ovo je hijerarhijski dizajn baze podataka koji se temelji na objektima i odnosima roditelj-dijete. Unutar objektne baze podataka principi i apstraktni tip podataka mogu poprimiti više oblika. To omogućuje pohranjivanje više vrsta podataka u strukturu baze podataka.