Mis on abstraktne andmetüüp?

Arvutiprogrammeerimises on mitut tüüpi muutujaid, funktsioone ja andmetüüpe. Abstraktne andmetüüp on muutuja, mis võib programmisiseste tingimuste alusel muutuda. See on objektorienteeritud programmeerimismudel, mis võimaldab abstraktsioonikihi loomisega koodi taaskasutada. Seda andmetüüpi kasutatakse sageli C++ ja Java® programmeerimiskeeltes ning seda peetakse täiustatud arendustehnikaks.

Abstraktset andmetüüpi peetakse konkreetse hulga või andmestruktuuri väikseimaks ühisnimetaja määratluseks. See andmetüüp peaks sisaldama põhitoiminguid, et võimaldada andmeväärtuste muutmist selles struktuuris. Andmetüüpi saavad sarnased andmetüübid kasutada pärimise kaudu, mis muudab toimingud järeltulijatele laiendatavaks.

Abstraktsete andmetüüpide kirjeldamiseks sageli kasutatav näide on loendi- ja järjekorraobjektid. Need on objektid, mis säilitavad teavet lineaarselt, sarnaselt andmete arvutustabeliga. Nii loend kui ka järjekorraobjekt haldavad andmekogumeid ja kasutavad nende andmetega manipuleerimiseks funktsioone. Kui loote andmehulkade haldamiseks abstraktse andmetüübi, saavad nii loendi- kui ka järjekorraobjekt kasutada samu sortimisfunktsioone.

Abstraktsioon viitab ideedele, mis on virtuaalsed või mittetäielikud. Abstraktne andmetüüp on andmetüüp, mis on tegeliku andmestruktuuri skeletivorm. See on loodud luustikuna, mis võimaldab funktsioonide taaskasutamist vastavalt programmi konkreetsetele vajadustele.

Abstraktset andmetüüpi ei saa kasutada ilma seda eelnevalt konkreetsele andmetüübile määramata. See on eelkäija skeleti andmestruktuur, mis tuleb selle loomisel teisendada tõeliseks andmetüübiks. Seejärel kasutatakse luustikku, pääsedes juurde päriliku betooni rakenduses saadaolevatele funktsioonidele. Abstraktne klass määratleb liidesed ja funktsioonid, mida saavad kasutada järeltulijad.

Abstraktsiooni kasutamine tarkvara sees muudab programmi tulevaste muudatuste jaoks paindlikumaks. See abstraktsioonikiht pakub ala üldiste funktsioonide loomiseks ja kasutamiseks kogu rakenduses. Java® programmeerimiskeel saavutab selle abstraktse kihi liideste ja funktsionaalsete meetodite kaudu.
Abstraktset andmetüüpi saab kasutada ka objektide andmebaasi juurutamisel. See on hierarhiline andmebaasikujundus, mis põhineb objektidel ja vanem-lapse suhetel. Objektide andmebaasi põhimõtted ja abstraktsed andmetüübid võivad võtta mitut vormi. See võimaldab andmebaasistruktuuris salvestada mitut tüüpi andmeid.