Az objektum-orientált programozás előnyei és hátrányai

Számítógépes kód. Mély zöld képernyő

A legtöbb modern számítógépes és mobilalkalmazás OOP technikát használ.

Kép jóváírása: SoulArt/iStock/Getty Images

Az objektum-orientált programozási nyelveket, például a C++-t, a Java-t és a Visual Basic-et informatikusok fejlesztették ki a programozás felgyorsítása és a szoftverek minőségének javítása érdekében. Az OOP szoftvertechnikák a programokat objektumoknak nevezett funkcionális blokkokra bontják, amelyek gyakran szükségesek olyan funkciókat, mint a vezérlőgombok, az adatbázis-kezelés és a matematika, könnyebben lehet használni és megosztani programozók. Az előnyök azonban olyan kompromisszumokkal járnak, mint például a bonyolultabb szoftverek és a csökkent teljesítmény.

Jobb termelékenység

Az OOP technikák olyan szabályokat kényszerítenek ki a programozóra, amelyek hosszú távon segítik őt abban, hogy több munkát végezzen; a kész programok jobban működnek, több funkcióval rendelkeznek, könnyebben olvashatók és karbantarthatók. Az OOP-t nem használó programok általában nagy, folytonos szövegtáblák, mint egy könyv nagyon hosszú fejezetei. Amikor a programozók közbelépnek, hogy megváltoztassák, a szöveg végül rendezetlenné válik és nehezebben követhető. Ezzel szemben az OOP programozók új és meglévő szoftverobjektumokat vesznek, és "összefűzik" őket új programok létrehozásához. Mivel az objektumkönyvtárak számos hasznos funkciót tartalmaznak, a szoftverfejlesztőknek nem kell olyan gyakran újra feltalálniuk a kereket; idejük nagyobb részét az új program elkészítésére fordítják.

A nap videója

Alacsonyabb programozási költségek

Az OOP különösen nagyobb projekteknél segít csökkenteni a programozási munka költségeit. A projekten dolgozó személyzet saját szoftverobjektum-könyvtárat fejleszthet, így a programozók könnyen használhatják egymás munkáját, és csökkenti a programok fejlesztéséhez szükséges időt. A jobb szoftverminőségnek köszönhetően a fejlesztők kevesebb időt töltenek a hibásan működő programok kijavításával, ami tovább csökkenti a munkaerőköltségeket.

Meredekebb tanulási görbe

Az OOP elsajátításához egy kezdőnek új, absztrakt fogalmakat kell megtanulnia, mint pl polimorfizmus -- objektumok újrafelhasználása, miközben új funkciókat ad hozzájuk -- és Egységbezárás -- az objektum belső adatainak egyes részeinek elrejtése a biztonság javítása érdekében -- ezek egyike sem található meg a régebbi programozási stílusokban. Ezeknek a fogalmaknak nemcsak időbe telik megtanulni, hanem túl bonyolultak is lehetnek a fiatalabb leendő programozók vagy azok számára, akik csak alkalmanként programoznak.

Lassabb szoftver

Az objektum-orientált szoftverek extra háztartási kódot igényelhetnek, amely más számítógépes nyelveken nem szükséges; a számítógépnek végre kell hajtania a kiegészítő programozást, lelassítva az alkalmazás válaszidejét. Azoknál a projekteknél, ahol a sebesség fontos, a programozók dönthetnek úgy, hogy a leginkább időkritikus részeket nem OOP-ban írják nyelvek, mint például assembler vagy C, OOP kód lefoglalása ablakok vagy gombok számára -- olyan területek, ahol az objektumoknak egyértelmű előny.