Cilj kursa:
Upoznavanje sa objektno orijentisanim tehnikama u programiranju. Upoznavanje sa razlikama u odnosu na proceduralne i modularne jezike. Predstavljanje objektno-orijentisanih tehnika i načina razmišljanja. Upoznavanje sa osnovnim premisama objektno-orijentisanog programiranja: apstraktni tipovi podataka, enkapsulacija, nasleđivanje, polimorfizam i apstrakcija.
Opis kursa:
Upoznanje sa osnovnim idejama i konceptima objektno-orijentisanog programiranja, prateći njihov logički razvoj uz postepenu nadogradnju. Centralna tema je usvajanje apstraktnog načina razmišljanja i razumevanje apstraktnog programiranja. Izuzetno je bitno postaviti jake teorijske temelje koji će kasnije značajno olakšati usvajanje praktičnih tehnika u projektovanju i pisanju objektno orijentisanog softvera.
Sadržaj kursa:
• Tipovi podataka i strukture podataka
• Apstrakni tipovi podataka
• Osnovni pojmovi objektno-orijentisanog programiranja
• Objekat
• Klasa
• Nasleđivanje
• Napredni koncepti objektno-orijentisanog programiranja
• Smeštanje objekata u memoriju
• Upućivanje poruka
• Višestruko nasleđivanje
• Objektno-orijentisano projektovanje
• Uvod u UML i postavka problema
• Analiza zahteva
• Modeliranje klasa
• Dijagrami sekvence i komunikacije
• Dijagrami aktivnosti i stanja
• Završne faze projektovanja