A Nasal programozási nyelv

Objektum-orientált programozás

Az osztályokat asszociációs tömbök használatával, kulcsként szimbólumokat használva lehet megvalósítani. A C++-os this-nek a me kulcsszó felel meg, az öröklődési kapcsolatokat pedig a parents listával lehet jelezni. Az osztály is egy objektum, a példányának a szülője pedig az osztály maga.

Egy példa:

Class1 = {}; Class1.new = func { obj = { parents : [Class1], count : 0 }; return obj; } Class1.getcount = func { me.count = me.count + 1; return me.count; } c = Class1.new(); print(c.getcount(), "\n"); # 1 print(c.getcount(), "\n"); # 2 print(c.getcount(), "\n"); # 3

Ugyanaz az osztály, más szintaxissal megadva:

Class2 = { new : func { obj = {}; obj.parents = [Class2]; obj.count = 0; return obj; }, getcount : func { me.count = me.count + 1; return me.count; } };