Objektno orijentirano programiranje

From Wikipedia

[uredi - уреди] Razvoj objektno orjentisanih programskih jezika

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 način za razumijevanje šta je to objektno orjentisano programiranje je da se razumiju razlike između strukturalnog i objektno orijentisanog programiranja. A te razlike se fundamentalne.

  1. Strukturalno programiranje:
 o Zadaci se uvijek u manje razvojene korake razgradjuju
 o Top-Down izrada
 o Podaci u poredju sa funkcijama igraju podredjenu ulogu
  1. Objektno orijentisani razvoj:
 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
  1. Dan Ingals (smalltalk veteran):

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