Objektno orijentirano programiranje
ECTS: 7 · Semestar: 2 · Ukupna satnica: 60 h
Opis kolegija
Povijest i koncept objektne paradigme. C++ u odnosu na C (2). U/I u C++ i druge specifičnosti C++ sintakse. U/I u C++ i druge specifičnosti C++ sintakse Pojam objekta, model objekta, svojstva i ponašanje objekta (2) Klasa ili razred, prava pristupa, javno sučelje. Konstruktor, destruktor, članske funkcije, preopterećenje funkcija. Instanciranje objekta, statičko i dinamičko (new i delete operatori) Kopiranje objekata, kopirni konstruktor, pridruživanje objekta. Konstantni članovi i objekti. Refererence. Prijateljske funkcije. Preopterećenje operatora. Koncept nasljeđivanja, deklaracija i implementacija izvedenih klasa, prava kod nasljeđivanja Pristup funkcijama, nadređenje, preopterećenje. Pravila za konstruktor u izvedenoj klasi. Koncept polimorfizma. Virtualne članske funkcije, virtualne klase Predlošci funkcije i predlošci klasa. Primjena STL biblioteke. Primjena predložaka. Rješavanje iznimki. Uređivanje imenovanog prostora. Stvaranje projekta pomoću MFC klasa.
Ishodi učenja
- identificirati temeljne razlike između proceduralne i objektne paradigme i razumjeti temljne značajke objekta
- oblikovati klasu na temelju definicije svojstava i ponašanja objekta
- oblikovati programsko rješenje u C++ pomoću vlastitih klasa primjenom koncepta objektno orijentirane paradigme.
- osmisliti operatorske funkcije u klasama C++ baziranog programa.
- dizajnirati objektno programsko rješenje korištenjem predložaka iz STL C++ biblioteka.
- napisati vlastite predložke klasa i funkcija pri rješavanju objektno orijentiranih problema.
- razlikovati temeljne razlike između objektno orijentiranih programnskih jezika (C++, C#, Java).
- povezati znanja stečena u osnovama OO paradigme s različitim rješenjima API klasa u C++ za programiranje GUI sučelja.
Literatura
Obavezna literatura
- M. Slamić: Elektronički sadržaji predavanja (PPT prezentacije) na web stranici predmeta na Tehničkom veleučilištu u Zagrebu, 2012., www.tvz.hr.
Boris Motik,Julijan Šribar:Demistificirani C++,treće dopunjeno izdanje,m Zagreb, Element , 2010.
Dodatna literatura
- D. Radošević, Programiranje 2, TIVA Tiskara Varaždin, 2007.
Eckel ? ?Thinking in C++ Vol 1 i Vol 2?, Prentice Hall, 2003. http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html
Stroustrup ? ?The C++ Programming Language?, Addison-Wesley, Third edition, 2004.
Željko Kovačević, ?C++ Analiza i primjena?, Školska knjiga, 2004.