Next: Architektúra független és hordozható Up: A nyelv legfontosabb tulajdonságai Previous: Egyszerű   Tartalomjegyzék
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.