OOP
Objektumorientált
programozás

Objektum

r

Objektum: adatok és a rajtuk elvégezhető műveletek zárt egysége. Az objektum információt tárol és kérésre feladatokat hajt végre. Az objektum felelős feladatainak korrekt elvégzéséért. Az objektumokból hierarchikus rendszer alkotható.

Egységbezárás

r

A hagyományos programozási módszereknél az adatoknak másodlagos szerepük van a rajtuk végzett műveletekkel (eljárás, függvény) szemben. Az objektum-orientált programozásnál az adatok és műveletek egyenrangúak, zárt egységet alkotnak. Az objektum az adatait az adatmezőiben tárolja, az adatokon elvégezhető műveleteket az objektum metódusainak nevezzük.

Sokalakúság

r

Lehetővé teszi a származtatott objektum tulajdonságainak (metódusainak) megváltoztatását.A metódus azonosítója és paramétere azonos, de a műveletek eltérnek .A sokoldalúság akkor lehetséges, ha a statikus metódusok helyett virtuális vagy dinamikus metódusokat használunkA program futása során (objektum hierarchia szintjétől függ) dől el, hogy melyik metódus hajtódik végre

Öröklődés

r

A már meglévő objektumokból kiindulva újabb objektumot hozhatunk létre, ami örökli a felhasznált objektum adatait és metódusait. A származtatott objektumot kiegészíthetjük új adatmezőkkel és új metódusokkal. Az öröklődés egyszeres, azaz minden származtatott objektumnak egy közvetlen őse van. (Néhány OO programozási nyelv támogatja a többszörös öröklődést.)

OOP program

r

Egy objektumorientált program egymással kommunikáló objektumok összessége, melyben minden objektumnak megvan a jól meghatározott feladatköre.Pl.: A miniszterek működése egy kormányban.

Nyelvek
csoportosítása

Tiszta

Hibrid

Objektum
alapú

Osztály

r

Az osztály (class) egy olyan objektumminta, amelynek alapján objektumpéldányokat (tetszőleges számút) hozhatunk létre.Minden objektum egy jól meghatározott osztályhoz tartozik.

Példány1

Példány2

Példány3

Elérési
jelölők

r

•Nyilvános (public): bárhonnan bárki elérheti. Jelölése: + •Védett (protected): hozzáférés csak az osztályból és leszármazottaiból lehetséges. Jelölése: # •Privát (private): csak az adott osztály metódusai férhetnek hozzá Jelölése: -