Ta članek se osredotoča na razpravo o razlikah med proceduralnim in objektno usmerjenim programiranjem.
Proceduralno programiranje
Proceduralno programiranje lahko definiramo kot model programiranja, ki izhaja iz strukturiranega programiranja, ki temelji na konceptu klicne procedure. Postopki, znani tudi kot rutine, podprogrami ali funkcije, so preprosto sestavljeni iz niza računskih korakov, ki jih je treba izvesti. Med izvajanjem programa je lahko kateri koli dani postopek poklican na kateri koli točki, vključno z drugimi postopki ali samim.
Jeziki, ki se uporabljajo v proceduralnem programiranju:
FORTRAN, ALGOL, COBOL,
BASIC, Pascal in C.
Objektno orientirano programiranje
Objektno orientirano programiranje lahko definiramo kot model programiranja, ki temelji na konceptu objektov. Objekti vsebujejo podatke v obliki atributov in kodo v obliki metod. V objektno usmerjenem programiranju so računalniški programi zasnovani z uporabo koncepta objektov, ki so v interakciji z resničnim svetom. Objektno orientirani programski jeziki so različni, najbolj priljubljeni pa so razredni, kar pomeni, da so objekti primerki razredov, ki tudi določajo njihove vrste.
Jeziki, ki se uporabljajo v objektno usmerjenem programiranju:
Java, C++, C#, Python,
PHP, JavaScript, Ruby, Perl,
Objective-C, Dart, Swift, Scala.
Proceduralno programiranje proti objektno usmerjenemu programiranju
Spodaj je nekaj razlik med proceduralnim in objektno usmerjenim programiranjem:
Proceduralno usmerjeno programiranje | Objektno orientirano programiranje |
---|---|
Pri proceduralnem programiranju je program razdeljen na majhne dele, imenovane funkcije . | Pri objektno usmerjenem programiranju je program razdeljen na majhne dele, imenovane predmetov . |
Proceduralno programiranje sledi a pristop od zgoraj navzdol . | Objektno orientirano programiranje sledi a pristop od spodaj navzgor . |
V proceduralnem programiranju ni določitelja dostopa. | Objektno usmerjeno programiranje ima specifikatorje dostopa, kot so zasebno, javno, zaščiteno itd. |
Dodajanje novih podatkov in funkcij ni enostavno. | Dodajanje novih podatkov in funkcij je preprosto. |
Proceduralno programiranje nima pravega načina za skrivanje podatkov, tako je manj varen . | Objektno orientirano programiranje omogoča skrivanje podatkov, tako da je bolj varen . |
Pri proceduralnem programiranju preobremenitev ni možna. | Pri objektno usmerjenem programiranju je možna preobremenitev. |
V proceduralnem programiranju ni koncepta skrivanja in dedovanja podatkov. | V objektno usmerjenem programiranju se uporablja koncept skrivanja in dedovanja podatkov. |
V proceduralnem programiranju je funkcija pomembnejša od podatkov. | Pri objektno usmerjenem programiranju so podatki pomembnejši od funkcije. |
Proceduralno programiranje temelji na neresnični svet . | Objektno orientirano programiranje temelji na resnični svet . |
Proceduralno programiranje se uporablja za načrtovanje srednje velikih programov. | Objektno orientirano programiranje se uporablja za načrtovanje velikih in kompleksnih programov. |
Proceduralno programiranje uporablja koncept abstrakcije procedure. | Objektno orientirano programiranje uporablja koncept abstrakcije podatkov. |
Ponovna uporabnost kode ni v proceduralnem programiranju, | Ponovna uporabnost kode je prisotna v objektno usmerjenem programiranju. |
Primeri: C, FORTRAN, Pascal, Basic itd. | Primeri: C++, Java, Python, C# itd. |