Vad är en abstrakt datatyp?
I datorprogrammering finns det många typer av variabler, funktioner och datatyper. En abstrakt datatyp är en variabel som kan ändras baserat på villkor inom programmet. Detta är en objektorienterad programmeringsmodell som möjliggör återanvändning av kod genom att skapa ett abstraktionslager. Denna datatyp används ofta på C ++ och Java®-programmeringsspråk och anses vara en avancerad utvecklingsteknik.
En abstrakt datatyp anses vara den lägsta definitionen av en gemensam nämnare av en specifik uppsättning eller datastruktur. Denna datatyp bör innehålla grundläggande operationer för att möjliggöra modifiering av datavärden inom den strukturen. Datatypen kan användas av liknande datatyper genom arv, vilket gör operationerna utökbara för efterkommande.
Ett exempel som ofta används för att beskriva abstrakta datatyper är list- och köobjekt. Dessa är objekt som upprätthåller information på ett linjärt sätt, liknande ett kalkylblad med data. Både en lista och ett köobjekt hanterar uppsättningar av data och använder funktioner för att manipulera dessa data. Genom att skapa en abstrakt datatyp för att hantera uppsättningar av data kan både listan och köobjektet använda samma sorteringsfunktioner.
Abstraktion avser idéer som är virtuella eller ofullständiga. En abstrakt datatyp är en typ av data som är en skelettform av en faktisk datastruktur. Det är utformat som ett skelett för att möjliggöra återanvändning av funktioner baserade på programmets specifika behov.
En abstrakt datatyp kan inte användas utan att först tilldela den till en konkret datatyp. Detta är en föregångare-skelettdatastruktur som måste konverteras till en riktig datatyp när den skapas. Skelettet används sedan genom att komma åt de funktioner som finns tillgängliga i den ärvda konkreta implementeringen. Den abstrakta klassen definierar gränssnitt och funktioner som kan användas av efterkommande klasser.
Att ha abstraktion inom programvara gör programmet mer flexibelt för framtida ändringar. Detta abstraktionslager ger ett område för generiska funktioner som ska skapas och används i hela applikationen. Java®-programmeringsspråket åstadkommer detta genom gränssnitt och funktionella metoder i det abstrakta lagret.
Den abstrakta datatypen kan också användas vid implementering av objektdatabaser. Detta är en hierarkal databasdesign som är baserad på objekt och förälder-barn-relationer. Inom objektdatabasprinciper och abstrakt datatyp kan ta flera former. Detta gör att flera typer av data kan lagras i databasstrukturen.