PREDGOVOR

Ovaj tekst je napravljen sa ciljem da se studenti na jednostavan i sažet način upoznaju sa Objektno Orjentisanim Programiranjem (OOP). OOP se danas smatra nezaobilaznom metodologijom u izradi složenih softverskih sistema.

Objektno orjentisano programiranje se vezuje za pionirski rad norveških naučnika Ole-Johan-a i Kristen Nygaard-a, koji su 1961 godine započeli sa razvojem programskog jezika “Simula”.

Međutim, objektno orjentisano programiranje, kakvog ga danas poznajemo, rezultat je kompleksnog razvoja u kojem je učestvovalo puno aktera.

Većina će se složiti da je prvi pravi O-O jezik bio “Smalltalk”, razvijen početkom 1970-tih godina u istraživačkom centru američke firme Xerox.

Ideja objektno-orjentisanog programiranja je dobila na snazi početkom 1980-tih godina, kada je Bjorn Stroustroup integrisao objektno-orjentisano programiranje u C lezik. Na taj način je stvorio novi jezik pod nazivom C++, koji je postao prvi objektno-orjentisan jezik u širokoj upotrebi.

Početkom 1990-tih godina, u firmi “Sun”, pod rukovodstvom James-a Goslinga razvijena je “jednostavnija” verzija jezika C++ koja je nazvana Java i čija je prvobitna namena bila programiranje “video-on-demand” aplikacija. Java u početku nije imala veću popularnost, sve dok nije usmerena ka Internet aplikacijama. Razvoj Interneta je doprineo i sve većoj upotrebi Java jezika.

Danas, svi programski jezici koji su u široj praktičnoj upotrebi sadrže neki oblik objektno orjentisanog programiranja.

U prvom delu ovog teksta bavićemo se osnovnim konceptima u OOP, sa primerima u C# jeziku.

U drugom delu ćemo, mnogo detaljnije, proučiti kako je OOP implementirano u Python-u.

Tokom kursa koji je baziran na ovom tekstu, studenti treba, da pored rešavanja zadataka koji su postavljeni na kraju pojedinih poglavlja, urade i jedan samostalan projekat razvoja jedne malo složenije klase.