Blokkok
A Forté mint objektum-orientált nyelv osztályok segítségével építi fel a programokat. Az
osztályokon belül található metódusok blokkokból épülnek fel. Ezeket a blokkokat a harmadik
pont alatt tárgyalt 'begin' és 'end' utasítások választják el egymástól. Illetve blokkokat
képez a többi vezérlési utasitás is.
Paraméterátadás
Az osztályok a metódusaikon keresztül kommunikálnak egymással a paraméterek és a visszatérési
értékek segítségével. Minden egyes metódusnak hat különböző paramétere lehet. Ezek a következők:
input, output, input-output, copy-input, copy-output, copy-input-output. Copy-input paramétert
akkor érdemes használni, ha a bemenő paraméter értéke a metóduson belül nem változik. Ugyanis
ha egy service-object hívta meg egy másik service-object metódusát, akkor a metódus végrehajtása
után nincs szükség a változó értékének visszaírására. Ezzel nagy hálózati kommunikációt
takaríthatunk meg, és ezzel szintén növeljük a programunk futási sebességét. A copy-output, és
a copy-input-output paraméterek is a hálózati kommunikáció hatékonyságának növelésére szolgálnak.
A metódusnak történő paraméterátadás két féle lehet, névszerinti illetve pozíciószerinti.
A következő példa a metódushívás lehetséges fajtáit mutatja be:
Deklaráció: Metodus7( input Param1 : Integer, input Param2 : TextData);
Metódus hívása: |
Eredménye:
|
Metodus7(Param1 = 23, Param2 = 'Forte') |
Itt névszerinti paraméter átadás történik.
|
Metodus7(23, 'Forte') |
Itt pozíció szerinti paraméterátadás történik.
|
Metodus7(Param2 = 'Forte', Param1 = 23) |
Itt is névszerinti paraméter átadás történik, de mivel a név egyértelműen azonosítja a hozzá tartozó értéket, így a felcserélt paraméterátadás is használható.
|
Metodus7('Forte', 23) |
Itt pozíció szerint szeretnénk paramétert átadni, de mivel az adott pozícióban lévő értékek típusa nem egyezik meg a deklarációban lévő típusok sorrendjével, azért ez a fajta metódus-hívás nem lehetséges.
|
A metódus visszatérési értéke is lehet sima return típusú, illetve copy return típusú. Copy
return típust skalár (egyszerű típus) visszatérési érték esetén alkalmazzuk. Erre azért van
szükség, mert ilyenkor a változónkról másolat készül. Abban az esetben, ha csak a sima return
típust használjuk visszatérési értékként, akkor csak az adott objektumra mutató referencia
adódik vissza.
Globális és lokális változók
Lokális konstansok és változók az adott osztályon belül hozhatóak létre. Ha egy helyi konstansot
kívánunk létrehozni a kódban, akkor ennek syntaxisa: CONSTANT constans_név = érték. A konstans
láthatósága ebben az esetben a deklarálás helyétől az adott utasítás blokk végéig terjed. Globális
konstansokat úgy hozhatunk létre, hogy egy külön projektben definiáljuk öket, majd mindent olyan
más projektben, ahol használni kívánjuk öket, be-'supplier'-ezzük. Mindezen túl, az objektum-orientált
technika miatt, globális változók nem léteznek abban az értelemben mint az imperativ nyelveknél.