Abstract datatype: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
Froggy~nlwiki (overleg | bijdragen)
Geen bewerkingssamenvatting
Froggy~nlwiki (overleg | bijdragen)
Regel 83:
 
==ADTs als concept en als taalonderdeel==
Het concept van een ADT is primair ontwikkeld uit de wens om programmeertalen (die normaal gesproken alleen uitgerust zijn met vrij simpele, primitieve datatypsdatatypes) uit te breiden met types die een hoger abstractieniveau kennen dan wat in de talen van de jaren '60 en '70 gebruikelijk was — dat wil zeggen, hoger dan wat vrijwel direct af te beelden is op het geheugenmodel van de gemiddelde [[computer]].
 
De invoering van de ADT als concept heeft echter ook zijn weerslag gehad op de vorm van programmeertalen. Verschillende programmeertalen (waaronder [[Turbo Pascal]] en [[Oberon (programmeertaal)|Oberon]]) werden aangepast en uitgebreid met faciliteiten om ADTs te implementeren. Turbo Pascal bijvoorbeeld werd uitgebreid met het idee van een ''unit'', een losse module (of bibliotheek) die functies, procedures, variabelen of zelfs hele ADTs kon bevatten. Binnen een dergelijke unit bestaat de mogelijkheid om een expliciete scheiding aan te brengen tussen wat wel en niet zichtbaar moet zijn aan de gebruiker van de unit: de interface voor het zichtbare en de implementatie voor het onzichtbare. Een stack-ADT in een dergelijke unit zou er als volgt uit kunnen zien: