Objektno orijentirano programiranje
From Wikipedia
Razvoj objektno orijentisanih programa
Algol Fortran LISP
1960
PL/1 Simula Smalltalk-72 Cobol
1970
Prolog Smalltalk-76 Smalltalk-74 Smalltalk-78 Smalltalk-80 Loops Pascal C
1980
Eiffel Ada C++ ObjectPascal Objective C CLOS
1990
Ada 9 Delphi Java ObjectCobol
2000
C#
Najbólji nacin za razumijevanje sta je to objektno orijentisano programiranje je da se razumiju razlike izmedju strukturalnog i objektno orijentisanog programiranja. A te razlike se fundamentalne.
-Strukturalno programiranje:
[edit] ================
o Zadaci se uvijek u manje razvojene korake razgradjuju o Top-Down izrada o Podaci u poredju sa funkcijama igraju podredjenu ulogu
-Objektno orijentisani razvoj:
[edit] =================
o Fundament grade objekti a ne funkcije i procedure +Objekat je manje ili vise apstraktan element u oblasti primjene +Objekti i tipovi objekata (klase) predstavljaju podatke, koji imaju sopstvene funkcije, i samo od tih sopstvenih funkcija smiju biti obradjivane o Objekti su u stvari struktira podataka, koje imaju jedan poseban odnos, koji je u metodama utvrdjen
-Dan Ingals (smalltalk veteran):
[edit] ====================
Ključna razlika između klasičniog proceduralnog programiranja i objektno orjentisanog programiranja je nepostojanje jasne podele na podatke i funkcije/operacije koje treba nad podacima izvršiti.
Naime, u objektno orjentisanom programiranju - polazi se od toga da se za bilo kakvu operaciju koristi podatak a da se nad svakim podatkom može izvršiti određeni niz operacija/radnji koje za taj podatak imaju smisla - stoga se umesto razdvajanja na podatke i funkcije koje procesiraju podatke na određene načine, podacima direktno definišu metodi za operisanje nad njima samima.
umesto:
podatak A (broj) funkcija smanji_za_jedan(broj) pa se obrada vrsi zvanjem fukcije smanji_za_broj(A) koja izvrši smanjivanje vrednosti brojcanog podatka A za jedan
koristimo:
podatak A (broj) metod podatka A poznaje metod smanji_za_jedan odnosno - da bi smanjili A za jedan jednostavno mu kazemo A.smanji_za_jedan