Objektno orijentisano programiranje

Cilj i ishod predmeta

Usvajanje teoretskog znanja i praktičnih veština za razumevanje i korišćenje objektno-orijentisane paradigme programiranja. Student razume sve ključne koncepte objektno-orijentisanog programiranja i ume da ih primeni, sposoban je da osmisli i implementira objektno-orijentisani model podataka i da implementira manju aplikaciju sa grafičkim korisničkim interfejsom uz korišćenje fajlova za čitanje i upis podataka.

Teorijska nastava

Proceduralno naspram objektno-orijentisanog programiranja. Pojam klase i objekta, atributa i operacija. Ugrađene klase u programskom jeziku Java. Osnovni elementi UML dijagrama klasa – klase i veze asocijacije. Pojam konstruktora. Paketi. Vidljivost atributa, operacija i klasa. Javabin i enkapsulacija. Statik elementi. Liste i nizovi u Javi. Veze između klasa. Singlton dizajn patern. Nasleđivanje klasa i polimorfizam. Nadjačavanje metoda i klasa Object. Ključna reč final. Apstraktne klase i interfejsi. Apstraktne klase i interfejsi na UML dijagramu klasa. Predstavljanje veze nasleđivanja i implementacije interfejsa na dijagramu klasa. Pregled poznatih dizajn paterna koji koriste apstrakciju i nasleđivanje. Prikaz jednostavnijih dizajn paterna na UML dijagramu klasa. Složenije kolekcije objekata. Ugnježdene klase. Izuzeci – hvatanje, obrada i ispaljivanje izuzetka. Pregled biblioteke za razvoj grafičkog korisničkog interfejsa korišćenjem principa objektno-orijentisanog programiranja – pregled komponenti, vezivanje modela podataka za komponentu, obrada događaja, dizajn paterni za aplikacije sa grafičkim korisničkim interfejsom.

Praktična nastava

Korišćenje osnovnih programskih konstrukcija u programskom jeziku Java na praktičnim primerima – grananje, petlje, osnovni i složeni tipovi podataka. Rad sa stringovima. Ilustrativni primeri i zadaci za ilustraciju svih osnovnih koncepata objektno-orijentisanog programiranja-klase, objekti, atributi i operacije, konstruktori, vidljivost, statik elementi. Ilustrativni primeri za prikaz apstrakcije, pisanje apstraktnih klasa i interfejsa i njihovo nasleđivanje odnosno implementacija. Implementacija modela datog UML dijagramom klasa, uključujući implementaciju klasa, interfejsa, veza između klasa. Paket za rad sa kolekcijama, sortiranje kolekcija. Rad sa izuzecima. Implementacija komponenti grafičkog korisničkog interfejsa. Implementacija obrade događaja na korisničkom interfejsu. Rad sa fajlovima – čitanje i upis u fajl. Implementacija kompletne aplikacije sa grafičkim korisničkim interfejsom korišćenjem MVC (Model View Controller) dizajn paterna.

3018-objektno-orijentisano-programiranje