|
|
Abstrakte datatyper | Betegnelsen 'abstrakte datatyper' stammer i overvejende grad fra den matematisk/teoretiske del af datalogi. Når vi arbejder med abstrakte datatyper ønsker vi at afskærme os fra viden om den konkrete og detaljerede datarepræsentation. Alle aflæsninger og ændringer af data sker gennem en mængde af operationer. Abstrakte datatyper udgør en af grundpillerne i objekt-orienteret programmering. |
| En datatype defineres ofte som en mængde af værdier. I en abstrakt datatype fokuserer vi ikke på disse værdier's datarepræsentation, men på hvordan vi manipulerer (opretter og ændrer) på disse. Dette sker gennem operationerne. |
| Programmeringsmæssigt er det en vigtig observation, at brugen af en abstrakt datatype bankkonto ikke inkluderer detaljer om hvordan bankkonto data lagres og repræsenteres. Når vi på et tidspunkt skal programmere en bankkonto har vi frie hænder til at vælge en hensigtsmæssig repræsentation. Valget påvirke ikke grænsefladen af den abstrakte datatype, men kun typens implementation. |
| Vi ved alle, at tal i en computer repræsenteres i det binære talsystem. Men vi er heldigvis også vant til ikke at tænke på disse detaljer, når vi arbejder med tal. Vi fristes f.eks. aldrig til at aflæse 'mindst betydende bit i et heltal'; Vi anvender en operation, som aflæser hvorvidt tallet er lige eller ulige. Tallenes nytte for os afspejler sig altså i de operationer, som vi kan udføre på dem. Vi kan med rette sige, at vi tænker på heltal som en abstrakt datatype. Lad dette være et forbillede for, hvordan vi fremover ønsker at programmere i det objekt-orienterede paradigme |
|