Tento článok sa zameriava na diskusiu o rozdieloch medzi procedurálnym a objektovo orientovaným programovaním.
Procedurálne programovanie
Procedurálne programovanie možno definovať ako programovací model, ktorý je odvodený od štruktúrovaného programovania, založeného na koncepte volania procedúry. Procedúry, známe tiež ako rutiny, podprogramy alebo funkcie, jednoducho pozostávajú zo série výpočtových krokov, ktoré sa majú vykonať. Počas vykonávania programu môže byť daná procedúra volaná v ktoromkoľvek bode, vrátane iných procedúr alebo sama.
Jazyky používané v procedurálnom programovaní:
FORTRAN, ALGOL, COBOL,
BASIC, Pascal a C.
Objektovo orientované programovanie
Objektovo orientované programovanie možno definovať ako programovací model, ktorý je založený na koncepte objektov. Objekty obsahujú dáta vo forme atribútov a kód vo forme metód. V objektovo orientovanom programovaní sú počítačové programy navrhnuté pomocou konceptu objektov, ktoré interagujú s reálnym svetom. Objektovo orientované programovacie jazyky sú rôzne, ale najpopulárnejšie sú založené na triedach, čo znamená, že objekty sú inštanciami tried, ktoré tiež určujú ich typy.
Jazyky používané v objektovo orientovanom programovaní:
ipconfig na Ubuntu
Java, C++, C#, Python,
PHP, JavaScript, Ruby, Perl,
Objective-C, Dart, Swift, Scala.
Procedurálne programovanie verzus objektovo-orientované programovanie
Nižšie sú uvedené niektoré rozdiely medzi procedurálnym a objektovo orientovaným programovaním:
Procedurálne orientované programovanie | Objektovo orientované programovanie |
---|---|
Pri procedurálnom programovaní je program rozdelený na malé časti tzv funkcie . | Pri objektovo orientovanom programovaní je program rozdelený na malé časti tzv predmety . |
Procedurálne programovanie nasleduje a prístup zhora nadol . | Objektovo orientované programovanie nasleduje a prístup zdola nahor . |
V procedurálnom programovaní neexistuje špecifikátor prístupu. | Objektovo orientované programovanie má špecifikátory prístupu ako súkromný, verejný, chránený atď. |
Pridávanie nových údajov a funkcií nie je jednoduché. | Pridávanie nových údajov a funkcií je jednoduché. |
Procedurálne programovanie nemá žiadny správny spôsob skrytia údajov, takže je menej bezpečné . | Objektovo orientované programovanie poskytuje skrytie údajov tak, ako to je bezpečnejšie . |
Pri procedurálnom programovaní nie je možné preťaženie. | Pri objektovo orientovanom programovaní je možné preťaženie. |
V procedurálnom programovaní neexistuje koncept skrývania a dedenia údajov. | V objektovo orientovanom programovaní sa používa koncept skrývania a dedenia údajov. |
V procedurálnom programovaní je funkcia dôležitejšia ako dáta. | V objektovo orientovanom programovaní sú dáta dôležitejšie ako funkcia. |
Procedurálne programovanie je založené na neskutočný svet . | Objektovo orientované programovanie je založené na reálny svet . |
Procedurálne programovanie sa používa na navrhovanie stredne veľkých programov. | Objektovo orientované programovanie sa používa na navrhovanie veľkých a zložitých programov. |
Procedurálne programovanie využíva koncept abstrakcie procedúry. | Objektovo orientované programovanie využíva koncept dátovej abstrakcie. |
Opätovná použiteľnosť kódu chýba v procedurálnom programovaní, | Opätovná použiteľnosť kódu v objektovo orientovanom programovaní. |
Príklady: C, FORTRAN, Pascal, Basic atď. | Príklady: C++, Java, Python, C# atď. |