OOP A programozás, mint tudományág megalapozójának tekinthető Edsger Wybe Dijkstra 1976-ban megjelent műve, a Discipline of programming.[1]
Alan Curtis Kay amerikai informatikus, a Smalltalk programozási nyelv megalkotója (mely tisztán objektumközpontúnak tekinthető)[2] fektette le az alábbi alapelveket, szerinte az objektum-orientált szemléletnek az alábbi alapelveket szükséges támogatnia:
- egységbezárás (encapsulation)
Az elv szerint minden összetartozó adatot egy egységként kezeljük, így történhet meg a hivatkozás rájuk a későbbiekben. Egy egysége az objektum osztály.
Jellemzők átvételét jelenti az objektumosztályban, mely idő-és helytakarékos megoldás. Ami „örökíti” a tulajdonságokat, azt szülő osztálynak hívjuk, ami „örökli” a szülőtől, azt gyermek osztálynak.
- sokalakúság (polymorphism)
Egy adott forráskódon belüli különböző tulajdonságokkal való felruházás lehetőségét jelenti például a függvényeknek vagy változóknak.
Egy osztály azon példányok (objektumok) fogalmi szintje (C#, illetve más objektum-orientált paradigma (továbbiakban: OOP) eszközöket támogató nyelvben), amelyek valamely tulajdonság, működésbeli hasonlóság miatt egy gyűjtőfogalom alá tartoznak (példát a valóság leképezése során kaphatunk, ilyen lehet az Épületek osztály, annak egy példánya a Múzeum objektum). Az objektum-orientált szemléletmód kialakításához absztrakciós képesség szükséges. Egy objektumnak lehetnek különböző állapotai és tulajdonságai, műveletek (metódusok) végezhetőek velük. Ezen tulajdonságok vagy műveletek láthatóságainak a következő szintjei léteznek a nyilvánostól a privát felé:[3]
- public: minden szinten látható és hozzáférhető,
- protected: a leszármazott osztályok módosíthatják a tulajdonságait és állapotait,
- private: csakis a saját osztályán belül elérhető, más szinten nem.
[3] Reiter István: C# programozás lépésről-lépésre p. 85-86. In: Objektumorientált programozáselmélet
|