Professional Documents
Culture Documents
Proghalado 1
Proghalado 1
Proghalado 1
Objektumorientált
programozás
1. Az objektumorientált programozás alapjai
Objektumok és objektumosztályok
A számítógépes programok közvetve vagy közvetlenül a körülöttünk lévô világ elemeihez illesz-
kednek, gyakorlati feladatokat oldanak meg. Ilyen feladatnak tekinthetjük az adatbázis-kezelésen,
a mérnöki-tudományos számításokon túl akár egy videó lejátszását vagy játékprogramok futtatását
is. Ezért célszerû olyan programozási modellt alkalmazni, amely illeszkedik a környezô világ építô-
köveihez, leírja tulajdonságaikat és viselkedésüket. Ezt az elvet valósítja meg az objektumorientált
programozás, röviden OOP. Az OOP olyan módszert nyújt a programozók számára, amely lehetôvé
teszi a programok bonyolultságának csökkentését, a megbízhatóság és a hatékonyság növelését.
Az OOP objektumokból építi fel a programot.
Lássunk példát objektumokra! Az iskolában diákok tanulnak. Egy diák adataihoz tartozik a
neve, születési ideje, lakcíme. A diák a tanórán felel, hiányzást igazol, tornázik. A diák objektum-
modelljének – többek között – ezeket az adatokat kell tartalmaznia, ezeket a tevékenységeket vé-
geznie.
A grafikus felhasználói felület programozásakor is objektummal dolgozunk. Megadjuk például
egy parancsgomb helyzetét, méretét, feliratát. Elkészítjük eseménykezelô eljárásait. A Programozási
ismeretek tankönyv bemutatja a grafikus felhasználói felület számos objektumát.
Egy osztályba sok diák jár, a programablakban több parancsgombot helyezhetünk el. Program-
jainkban gyakran sok objektum tárol ugyanolyan adatokat, és végez ugyanolyan tevékenységeket.
Az egymáshoz hasonló objektumokat osztályokba soroljuk.
Az objektum által tárolt adatokat szokás az objektum mezôinek, adattagjainak vagy tagválto-
zóinak hívni. Programjainkban az osztályszintû változók jelentik az objektumok mezôit. Az objek-
tumokat függvények vagy eljárások hívásával „kérjük meg” a tevékenységek végzésére. Ezek az
alprogramok az objektum metódusai. A metódusokat gyakran tagfüggvényeknek, illetve eljárásta-
goknak nevezzük. Az objektum tehát a hozzá tartozó mezôk és metódusok összessége. A mezôk és
metódusok együttesen alkotják az objektum tagjait. A metódusok hívása helyett azt is mondhatjuk,
hogy üzenetet küldünk az objektumnak, amely a metódus végrehajtásával válaszol az üzenetre.
9
I. Objektumorientált programozás
A szakirodalomban néha csak azokat a változókat nevezik mezôknek, illetve azokat az alprogra-
mokat hívják metódusoknak, melyek az osztályszintûnél nagyobb hatókörrel rendelkeznek (kí-
vülrôl is elérhetôk). Könyvünkben követjük a Visual Studio szóhasználatát, mely szerint mezônek
tekintjük az osztályszinten (tehát az eljárásokon/függvényeken kívül) deklarált változókat, illetve
metódusnak minden, az osztályban definiált alprogramot.
Minden egyes objektum egy-egy jól meghatá-
rozott osztályhoz tartozik. Az osztály forráskódjá-
ban definiáljuk a hozzá tartozó objektumok
mezôit és metódusait.
Az egyes objektumok a megfelelô objektum-
osztály példányai. A diák objektumosztály egy
példánya (objektuma) Kovács István vagy Nagy
Irén. A programablakban a parancsgomb (But-
ton) objektumosztály példányait helyezzük el
(Button1, Button2 stb.).
Az objektumok és objektumosztályok haszná-
lata megkönnyíti az összetett, bonyolult progra-
mok elkészítését, mert összefogja, egységbe zárja
Az objektumok az összetartozó elemeket.
az objektumosztály konkrét egyedei
Futóverseny
A következô leckékben egy futóverseny szimulációjával mutatjuk be az objektumorientált progra-
mozás alapjait. A program kirajzolja a képernyôre a pályát, amelyen különbözô színû, sorszámok-
kal jelképezett versenyzôk futnak végig, balról jobbra. A sötét háttér miatt csak világos színeket
választunk. Futás közben a versenyzôk helyzetét egy ciklussal változtatjuk. A ciklusban minden ver-
senyzô véletlenszerû mértékben lép elôre. A verseny addig tart, amíg egy léptetés során egy vagy
több versenyzô be nem ér a célba. Ôket mind gyôztesnek tekintjük, tehát megengedjük a holtver-
senyt is. A verseny végén kiírjuk a gyôztes versenyzô(k) sorszámát. A mûködô programot a forrás-
fájlok között található Futóverseny mutatja be.
A futóverseny képernyôképe
10
1. Az objektumorientált programozás alapjai
11
I. Objektumorientált programozás
Ábrázolás osztálydiagramon
Programunkban osztályokat definiálunk a tervben szereplô objektumok alapján. Az osztályok szer-
kezetét úgynevezett osztálydiagrammal tesszük áttekinthetôvé. Az osztálydiagram fontos eleme az
objektumorientált programok tervezését segítô UML-nek (Unified Modeling Language: egységes
modellezô nyelv).
Az osztálydiagram téglalapban tünteti fel az osztály nevét, mezôit és metódusait. A mezôket és
metódusokat vízszintes vonallal választjuk el egymástól.
12
1. Az objektumorientált programozás alapjai
13
I. Objektumorientált programozás
14