Az objektum orientált programozás szemlélete
Program: a valós világ egy szeletének működő modellje.
Ebben a szemléletben a valós világ egy absztrakt modelljét (analízis modell) kell leképezni egy programozási eszközre. Ezt a folyamatot megkönnyíti az, ha az analízis modell elemei könnyen leképezhetők nyelvi elemekre. Az analízis modell elkészítése során a valóságot objektumok halmazaként tekintjük. Ezen objektumok egymással kapcsolatban vannak és együttműködnek.
A természetes objektumok jellemzői:
- struktúra (adatok)
- viselkedés (más objektumokkal való kapcsolata)
Objektum: egyediséggel rendelkező diszkrét entitás. Jellemzői: attribútumok - ennek időbeli változása az objektum viselkedése, műveletek - ezek modellezik az objektum viselkedését.
Osztály:
- objektumok közös tulajdonságát definiálja. Programozástechnikai szempontóbl egy típus.
- adatok (az attribútumok modellezésére)
- módszerek (a műveletek modellezésére)
Objektum:
- egy osztály egy működő képes példánya
- egy adott osztályban definioált tulajdonságokkal tetszőleges számú objektum példányosítható
- minden objektum természeténél fogva különbözik az összes többitől
- egy adott osztályból példányosított valamennyi objektumnak ugyanolyan lehetséges viselkesé módjai (műveletei) vannak, de saját állapotuk van.
Egységbezárás:
- Az osztály adatait és a módszereit egy egységgé teszi
- az adatok lokálisak
- a módszerek hozzáférhetnek az adatokhoz
Információ rejtés:
- egy objektum adatai a külvilág (más objektum) számára hozzáférhetetlenek
- egy objektum a külvilággal csak az interface-én keresztül tarthatja a kapcsolatot. (Interface: a külvilág számára elérhető módszerek együttese.)
- a módszerek implementációja rejtett
Üzenet:
- Az objektummal való kommunikáció módja.
- A módszerek aktiválását jelenti.
Öröklődés:
- Hierarchikus kapcsolatrendszer
- A leszármazott osztály örökli a ős osztály adatait és módszereit.
- Az örökölt módszereket felüldefiniálhatja a maga számára.
- Új (saját, csak rá jellemző) adatokat és módszereket definiálhat.
- Egy leszármazott osztály csak bővítheti, pontosíthatja az őst, de nem utasíthat el örökölt adatokat vagy módszereket.
Polimorfizmus:
- Bizonyos elemek viselkedése attól a környezettől függ, amelyben alkalmazzuk.
- A gyakorlatban ez azt jelenti, hogy egy nyelvi elem attól függően, hogy hol alkalmazzuk más-más működést eredményezhet.