A Lingo programozási nyelv

Objektum-orientált programozás

Osztályok

A Lingo nyelv terminológiája az osztály fogalmát szülőszkript (parent script) elnevezéssel illeti. A szülőszkriptből hozhatók létre objektumok, melyeket a Lingo gyerek-, vagy utódszkriptnek nevez. A pontos megfeleltetések a következők lehetnek:

Szemben a viselkedés szkriptekkel (behavior script), melyeket a Lingo automatikusan sprite-okhoz kapcsol, az child objecteket explicit módon kell spriteokhoz rendelni.

Property variable-okat (tulajdonságváltozókat) a property kulcsszóval adhatunk meg, ezeket mindig a parent script első soraiban kell megtennünk. Az objektumok property variablejainak eléréséhez használhatjuk a Lingo verbose syntax-át: the propertyNév of melyikObjektum vagy a dot syntaxot: melyikObjektum.propertyNév.

Az konstruktort az on new eseménykezelő jelenti a Lingoban. Itt kaphatnak kezdőértéket a property-k, ha nem kapnak, kezdőértékük automatikusan void. lesz. Ez az eseménykezelő hozza létre az új objektumot is, amikor egy másik szkriptben vagy eseménykezelőben kiadjuk a new(script parentScriptNév) parancsot.

Az on new eseménykezelő argumentuma lehet a me változó, illetve további argumentumok, melyeket az eseménykezelő a child object-nek ad át:

property egészSzám
on new me, aKezdőÉrték
egészSzám = a KezdőÉrték
return me
end

A me változó (paraméter) felel meg a más nyelvekben megszokott this, vagy Self „paraméternek”.

Az on new eseménykezelő után írhatjuk a parent script többi eseménykezelőjét: mintegy az osztály metódusait.

A child object-ek nem részei a mozinak, a példányokat a memóriában találjuk csak meg; csak a szűlő és ős szkriptek találhatók meg a szereposztásban.

A példányosítás a new() függvénnyel történik:

set változóNév = new(script „parentScriptNév”, , )

Ha szeretnénk a példányosítást úgy elvégezni, hogy az objektumban a tulajdonságok ne kapjanak kezdőértéket, a rawNew() függvényt kell használnuk, amely úgy hajtja végre a példányosítást, hogy a parnet scriptben nem fut le az on new eseménykezelő.

Az objektumok megszüntetéséhez az összes változó értékét void-ra kell állítani, amely hivatkozik az objektumra.

Néhány további jellemző:

Objektumok

Öröklődés

A Lingoban az egyszeres öröklést valósították meg.

Polimorfizmus, dinamikus kötés

Interfészek