1. Osnovni koncepti i prednosti OOP u Javi


Ovdje ćemo govoriti o osnovnim konceptima OOP. Objektno-orijentisano programiranje je paradigma koja sadrži mnoge koncepte kao što su nasljeđivanje (inheritance), povezivanje podataka (data binding), polimorfizam itd. Prvi objektno-orijentisani programski jezici su bili Simula i Smalltalk. Programska paradigma gdje je sve predstavljeno kao objekt je poznata kao istinski objektno-orijentisani programski jezik.

Objektno-orijentisani sistem programiranja

Objekt označava entitet iz stvarnog svijeta kao što su olovka, stolica, stol itd. Objektno-orijentisano programiranje je metodologija ili paradigma pisanja programa koristeći klase i objekte. Ono pojednostavljuje razvoj i održavanje softvera time što obezbjeđuje sljedeće koncepte:

Objekt Bilo koji entitet koji ima stanje i ponašanje se naziva objekt. Napr.: stolica, olovka, stol, tastatura, bicikl itd. Može biti fizički i logički. Klasa Kolekcija objekata se naziva klasa. Ona je logički entitet. Nasljeđivanje Kada jedan objekt dobija sve osobine i ponašanja roditeljskog objekta to se naziva nasljeđivanje. Ono obezbjeđuje ponovnu upotrebljivost (reusability) koda. Koristi se da se postigne polimorfizam u vremenu izvršavanja. Polimorfizam Kada se jedan zadatak izvršava na različite načine to je poznato kao polimorfizam. Napr.: uvjeriti mušteriju da nešto kupi možemo na različite načine, nacrtati nešto možemo na razne načine itd. U Javi, koristimo preopterećenje (overloading) metoda i preklapanje (overriding) metoda da bismo postigli polimorfizam. Apstrakcija Sakrivanje unutrašnjih detalja i pokazivanje funkcionalnosti je poznato kao apstrakcija. Napr.: dok telefoniramo nije neophodno da znamo kako se procesira signal. U Javi, koristimo apstraktne klase i interfejs da postignemo apstrakciju. Enkapsulacija Povezivanje (ili uvezivanje) koda i podataka zajedno u jedinstvenu jedinicu je poznato kao enkapsulacija. Java klasa je primjer enkapsulacije. Java zrno (bean) je u potpunosti enkapsulirana klasa zato što su svi podaci-članovi u njoj privatni.

Prednosti OOP nad proceduralno-orijentisanim programskim jezicima

  1. OOP čini razvoj i održavanje lakšim dok u proceduralno-orijentisanim programskim jezicima to nije lako postići ukoliko kod raste kako raste obim projekta.
  2. OOP obezbjeđuje sakrivanje podataka dok se u proceduralno-orijentisanim programskim jezicima globalnim podacima može pristupiti sa bilo kog mjesta.
  3. OOP daje mnogo efikasnije mogućnosti simuliranja događaja iz realnog svijeta. Možemo obezbijediti rješavanje realnih problema ako koristimo OOP jezik.

Razlika između objektno-orijentisanog i objektno-zasnovanog programskog jezika Objektno zasnovani programski jezik slijedi sve principe OOP osim nasljeđivanja. JavaScript i VBScript su primjeri objektno zasnovanih programskih jezika.


Objektno orijentisano programiranje u Javi    Index