Next: Architektúra független és hordozható Up: A nyelv legfontosabb tulajdonságai Previous: Egyszerű   Tartalomjegyzék


1.5.1.2       Objektum orientált

A Jáva a C++ objektumorientált tulajdonságait tartalmazza. Absztrakt adattípusként viselkedő osztályokat lehet definiálni, az osztályok metódusokat tartalmazhatnak, amelyek a rejtett egyedváltozókon operálhatnak. Létrehozhatunk objektumokat, azaz egyes osztályokba tartozó egyedeket. Az osztályok definiálásánál felhasználhatunk már meglévő osztályokat. Az új osztály (a leszármazott) örökli a szülő tulajdonságait, metódusait. A metódus hívásánál, a meghívott metódus futási időben kerül kiválasztásra, az objektum aktuális típusának megfelelően (virtuális módszerek, polimorfizmus).

Az egyes osztályokban definiált változók és metódusok láthatóságát a C++-ban megismert módon - private, protected és public - lehet megadni.

Eltérés a C++-hoz képest, hogy a Jávában a beépített, egyszerű adattípusú (numerikus, logikai és karakter típus) változók kivételével minden objektum. Az egyetlen összetett adattípus, a tömb teljes értékű osztályként viselkedik. A program nem tartalmaz globális változókat és globális metódusokat, minden adat és eljárás valamilyen objektumhoz, esetleg osztályhoz kötődik. Persze a C++-t ismerők tudják, hogy a globális változókat és függvényeket helyettesíteni lehet ún. osztályváltozókkal és statikus metódusokkal, ezek itt is használhatók.

A Jávában minden metódushívás (a fent említett statikus metódusok kivételével) virtuális. A C++-hoz hasonlóan, lehetőségünk van az egyes objektumok típusát futási időben lekérdezni, sőt itt akár az osztályok forrásprogramban definiált nevét futás közben is felhasználhatjuk például objektumok létrehozására. Az osztályok mellett a Jáva az Objective-C programozási nyelvből átvette az Interface fogalmat. Az Interface nem más, mint metódusok egy halmaza (adatszerkezeteket, egyedváltozókat nem tartalmaz), amelyet egyes osztályok megvalósíthatnak. A Jáva a C++-szal ellentétben nem engedi meg a többszörös öröklődést, viszont Interface-ek használatával, egyszerűbben, kevesebb implementációs problémával hasonló hatást lehet elérni.


Next: Architektúra független és hordozható Up: A nyelv legfontosabb tulajdonságai Previous: Egyszerű   Tartalomjegyzék

 
Misóka Zoltán 2000. 10. 05.