Výhody a nevýhody objektovo orientovaného programovania

click fraud protection
Počítačový kód. Tmavo zelená obrazovka

Väčšina moderných počítačových a mobilných aplikácií používa techniky OOP.

Kredit za obrázok: SoulArt/iStock/Getty Images

Jazyky objektovo orientovaného programovania ako C++, Java a Visual Basic vyvinuli počítačoví vedci na urýchlenie programovania a zlepšenie kvality softvéru. Softvérové ​​techniky OOP rozdeľujú programy do funkčných blokov nazývaných objekty, ktoré sú často potrebné funkcie ako ovládacie tlačidlá, správa databázy a matematika sa ľahšie používajú a zdieľajú programátorov. Výhody však prichádzajú s kompromismi, ako je zvýšená zložitosť softvéru a znížený výkon.

Lepšia produktivita

Techniky OOP presadzujú programátorovi pravidlá, ktoré jej z dlhodobého hľadiska pomôžu urobiť viac práce; hotové programy fungujú lepšie, majú viac funkcií a ľahšie sa čítajú a udržiavajú. Programy, ktoré nepoužívajú OOP, majú tendenciu byť veľké, súvislé kusy textu, ako veľmi dlhé kapitoly v knihe. Keď programátori zasiahnu, aby to zmenili, text sa nakoniec stane neorganizovaným a bude ťažšie ho sledovať. Naproti tomu programátori OOP berú nové a existujúce softvérové ​​objekty a „zošívajú“ ich dohromady, aby vytvorili nové programy. Pretože knižnice objektov obsahujú veľa užitočných funkcií, vývojári softvéru nemusia tak často znovu objavovať koleso; viac času venujú tvorbe nového programu.

Video dňa

Nižšie náklady na programovanie

Najmä pri väčších projektoch pomáha OOP znižovať náklady na programátorskú prácu. Zamestnanci pracujúci na projekte môžu vytvoriť svoju vlastnú knižnicu softvérových objektov, vďaka čomu môžu programátori navzájom jednoducho využívať svoju prácu a skrátiť čas potrebný na vývoj programov. Vďaka zlepšenej kvalite softvéru trávia vývojári menej času opravovaním nefunkčných programov, čím sa ďalej znižujú náklady na pracovnú silu.

Strmšia krivka učenia

Pre zvládnutie OOP sa začiatočník musí naučiť nové, abstraktné pojmy ako napr polymorfizmus -- opätovné použitie objektov pri pridávaní nových funkcií k nim -- a zapuzdrenie -- skrytie častí interných údajov objektu na zlepšenie bezpečnosti -- ani jeden z týchto nápadov sa v starších štýloch programovania nenachádza. Nielenže sa tieto koncepty naučia, ale môžu byť príliš zložité pre mladších budúcich programátorov alebo tých, ktorí programujú len príležitostne.

Pomalší softvér

Objektovo orientovaný softvér môže obsahovať dodatočný kód pre údržbu, ktorý nie je potrebný v iných počítačových jazykoch; počítač musí vykonať dodatočné programovanie, čím sa spomalí čas odozvy aplikácie. Pre projekty, kde je dôležitá rýchlosť, sa programátori môžu rozhodnúť napísať časovo najkritickejšie časti v non-OOP jazyky ako assembler alebo C, vyhradzovanie OOP kódu pre okná alebo tlačidlá -- oblasti, v ktorých majú objekty jasno výhodu.