Hva er en abstrakt datatype?
I programmering av datamaskiner er det mange typer variabler, funksjoner og datatyper. En abstrakt datatype er en variabel som kan endres basert på forholdene i programmet. Dette er en objektorientert programmeringsmodell som muliggjør gjenbruk av kode ved å lage et abstraksjonslag. Denne datatypen brukes ofte i programmeringsspråk C ++ og Java® og regnes som en avansert utviklingsteknikk.
En abstrakt datatype regnes som den laveste fellesneversdefinisjonen av et spesifikt sett eller datastruktur. Denne datatypen skal omfatte grunnleggende operasjoner for å tillate endring av dataværdier innenfor den strukturen. Datatypen kan brukes av lignende datatyper gjennom arv, noe som gjør operasjonene utvidbare for etterkommere.
Et eksempel som ofte brukes til å beskrive abstrakte datatyper er liste- og køobjekter. Dette er objekter som opprettholder informasjon på en lineær måte, ligner et regneark med data. Både en liste og et køobjekt administrerer datasett og bruker funksjoner for å manipulere disse dataene. Ved å lage en abstrakt datatype for å administrere datasett, kan både listen og køobjektet bruke de samme sorteringsfunksjonene.
Abstraksjon refererer til ideer som er virtuelle eller ufullstendige. En abstrakt datatype er en type data som er en skjelettform av en faktisk datastruktur. Det er designet som et skjelett for å muliggjøre gjenbruk av funksjoner basert på spesifikke behov i programmet.
En abstrakt datatype kan ikke brukes uten først å tilordne den til en konkret datatype. Dette er en forløper skjelettdatastruktur som må konverteres til en reell datatype når den opprettes. Skjelettet brukes deretter ved å få tilgang til funksjonene som er tilgjengelige i den arvelige konkrete implementeringen. Den abstrakte klassen definerer grensesnitt og funksjoner som kan brukes av etterkommende klasser.
Å ha abstraksjon innen programvare gjør programmet mer fleksibelt for fremtidige modifikasjoner. Dette abstraksjonslaget gir et område for generiske funksjoner som kan opprettes og brukes i hele applikasjonen. Java®-programmeringsspråket oppnår dette gjennom grensesnitt og funksjonelle metoder i det abstrakte laget.
Den abstrakte datatypen kan også brukes i implementering av objektdatabaser. Dette er et hierarkisk databasedesign som er basert på objekter og foreldre-barn-relasjoner. Innen objektdatabaseprinsipper og abstrakte datatype kan ha flere former. Dette gjør at flere typer data kan lagres i databasestrukturen.