A Scheme programozási nyelv

Absztrakt adattípusok

A nyelv a szokványos értelemben nem táomgatja az absztrakt adattípust, mégis lehet valami hasonlót használni a Scheme-ben.

Az alábbi rövid példa bemutatja az egyszerű absztrakt objektumok készítésének lehetőségeit (egy szintaktikai kiegészítés segítségével). Ez a lehetőség korlátlan potenciált biztosít egy Scheme-beli teljes objektum-orientált alrendszerre.

Az absztrakt objektumok hasonlóak az egyszerű adatszerkezetekhez, mint pl. párok és vektorok. Ahelyett, hogy elérési és értékadási operátorokon keresztül manipulálnánk, az absztrakt objektumok üzenetekre reagálnak. Az érvényes üzenetek és akciók, amelyeket az üzenetekre kell hajtani az objektumon belüli kódban kerül definiálásra, és nem az objektumon kívül. Így eredményül egy modulárisabb és valószínűleg biztonságosabb programozói rendszert kapunk. A lokális adatokat kizárólag az üzenetekre definiált akciókból tudjuk elérni.e messages. Egy absztrakt objektumot a define-object kulcsszóval tudunk létrehozni, amelynek általános formája a kövketkező:

A particular type of abstract object is defined with define-object, which has the general form (define-object (name var1 ...) ((var2 val) ...) ((msg action) ...))