Forte

OOP, öröklődés támogatása

Objektum-orientált programozás

A Forte-ban való programozáskor az objektum orientált technológia három legfontosabb elemét az egységbezárást, az öröklődést és a többalakúságot, szemelőt kell tartani. Ezeken kívül a Forte még a következőkkel támogatja az objektum orientált fejlesztést: Events, Multitasking, Transaction (adatbázis kezeléshez), Exception (kivételkezelés), Object sharing (objektum megosztás), Service object. Mint minden OO nyelv esetén itt is az osztály tekintendő alapegységnek. Minden osztálynak létezik superclass-a és ezek az Object osztályból vannak örököltetve. Az osztályok rendelkezhetnek attributumokkal, metódusokkal, illetve event-ekkel. Az osztályok elemeinek elérései private és public lehet. A nyelv nem támogatja a protekted elérést. A private tagokat csak az adott osztályon belülről érhetjük el. A publikus mezők bárhonnan elérhetőek, illetve módosíthatóak. Az objektumot úgy fogja fel a nyelv, mint egy valós világbeli dolgot, amit mi adatként tárolunk el és az adatokat metódusokon keresztül változtathatjuk. Az osztályokat pedig, mint egy ujjlenyomatot fogja fel, amelyek a hasonló objektumokról készülnek. Más szóval egy osztály egy üzleti entitás típusát reprezentálja.

Minden osztály rendelkezik egy 'Init()' metódussal, amely az adott osztály inicalizálásakor automatikusan végrahajtódik. Ebben a metódusban érdemes tárolni a kezdeti értékeket, beállitásokat. Vagyis ezt a metódust nevezhetjük konstruktornak. Kezdeti értéket nem csak a konstruktor metódussal adhatunk, hanem az inicializálás pillanatában is átadhatjuk a kezdeti értéket. Destruktorral nem rendelkezik a nyelv. Ugyanis az objektumra mutató referencia megszünésével automatikusan felszabadul a memória.

Öröklődés támogatása

Csak egyszeres öröklödés megengedett a Forté-ban. A többszörös öröklödést nem támogatja. Öröklödéskor a konstruktor függvény is leöröklésre kerül. A polymorphism (többalakúság) keretében a Forté támogatja az azonos nevű metódusok különbözö funkcióit az objektumok különböző osztályain. Ennek megvalósítására két eszköz áll rendelkezésre. Az overriding és az overloading technika.
Az overriding lehetővé teszi, hogy azonos nevű és paraméterű metódusokat hozzunk létre az ős-osztályban és az abból leöröklésre került utód-osztályban. Ebben az esetben mindig annak az osztálynak a metódusa kerül meghívásra, amelyet példányosítunk.
Az overloading segitségével pedig lehetőségünk nyílik egy osztályon belül több azonos nevü, de különböző paraméterű metódus irására. A metódus meghivásakor mindig a paraméterlista alapján dönti el, hogy melyik kerüljön futatásra.