Az objektum-orientált programozás alapelveiAz OOP három alapelvet vall:
- Öröklődés
- Kapszulázás
- Polimorfizmus
Az öröklődés a klónozáshoz hasonlítható. Ez az elv az osztályok és objektumok közötti kapcsolat lényege. Ez azt jelenti, hogy minden gyermek „klón” örökli a szülőelemben megadott attribútumokat és metódusokat: mindet átveheti, néhányat eldobhat, illetve újakat is hozzáadhat. Ebben az esetben nem kell sokszor ugyanazt az adatot megadni.
Kapszulázás. Ezen belül kell tárolni az objektum működéséhez szükséges adatokat. Idegen objektumok és osztályok nem módosíthatnak rajta. Csak nyilvános attribútumok és metódusok érhetők el számukra. Ez az elv megvédi egy objektum vagy osztály adatait a kívülállók által okozott károktól.
A polimorfizmus a viselkedés újradefiniálása. Ugyanaz a módszer különböző módon működhet. Például a „személy” szülőosztály mozoghat, a gyermek objektumai, a „vezető” és a „gyalogos” megtehetik ugyanezt, de különböző módokon: az egyik autóban, a másik gyalog.
Az OOP előnyei és hátrányaiAz objektum-orientált programozás előnyei a következők:
- Kényelmesebb objektumokkal kódot írni. A létrehozás után egy osztály vagy metódus újra felhasználható. Ezenkívül könnyen átvihető más projektekre.
- Sokkal könnyebben olvasható a kód, még valaki másé is.
- Egyszerű frissítés. Elég egy osztályt vagy metódust egy helyen megváltoztatni, és minden öröklött elemben megváltozik.
- Jó skálázhatóság. A független moduláris felépítésnek köszönhetően a program különböző moduljaiért különböző fejlesztők felelősek.
A hátrányok a BizUPLab Budapest szakértői szerint a következők:
- Nehéz megtanulni.
- A legrosszabb teljesítmény. Az objektumok több memóriát fogyasztanak, mint az OOP nélküli programok. Ez a fordítási sebességre is vonatkozik.
- A kód mennyisége nagyobb, mint a procedurális programozásnál. Ez egy plusz, amikor a nagy programok szerkezete világossá válik, de kis szoftvertermékeknél ez időpocsékolás.