1 / 26

Objektno orijentisano programiranje

Objektno orijentisano programiranje. Uvod. Nastava. Predavanja Prof. dr Dragan Janković, vanredni profesor Mr Danijel Mijić, viši asistent 2 časa sedmično (30 časova) Vježbe Ognjen Bjelica, asistent 2 časa sedmično (30 časova) Literatura

vianca
Télécharger la présentation

Objektno orijentisano programiranje

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Objektno orijentisano programiranje Uvod

  2. Nastava • Predavanja • Prof. dr Dragan Janković, vanredni profesor • Mr Danijel Mijić, viši asistent • 2 časa sedmično (30 časova) • Vježbe • Ognjen Bjelica, asistent • 2 časa sedmično (30 časova) • Literatura • Programski jezik C++ sa rešenim zadacima, Laslo Kraus • Programiranje na programskom jeziku C++, D. Milićević • Alati • Microsoft Visual Studio 2008

  3. Kontakti • danijel.mijic@etf.unssa.rs.ba • www.etf.unssa.rs.ba/~mdanijel/oop • Kancelarija 0-30, prizemlje • ognjen.bjelica@etf.unssa.rs.ba • www.etf.unssa.rs.ba/~ognjen/ • Laboratorija za embedded sisteme, II sprat

  4. Ocjenjivanje • Prisustvo nastavi 5% • Laboratorijske vježbe 15% • Praktični dio ispita 50% • Praktični rad (pisanje programa na računaru) • Opcija 1 • Kolokvijum 1 25% • Kolokvijum 2 25% • Opcija 2 • Integralni ispit 50% • Teoretski dio ispita 30%

  5. Ciljevi izučavanja predmeta • Ovladavanje osnovnim konceptima objektno orijentisanog programiranja • Primjenljivost stečenih znanja u struci

  6. Ishodi učenja • Primjena OOP koncepata u programskim jezicima C++ i C# • Apstrakcija • Enkapsulacija • Nasljeđivanje • Polimorfizam • Sposobnost razvoja aplikacija u Microsoft Visual Studio okruženju • Razvoj konzolnih aplikacija korišćenjem programskog jezika C# • Osnovna znanja za razvoj jednostavnih Windows aplikacija korišćenjem programskog jezika C#

  7. Sadržaj predmeta • Uvod u OOP • Klase • Preklapanje operatora • Izvedene klase • Izuzeci • Generičke funkcije i klase • Ulaz i izlaz

  8. Uvod u objektno orijentisano programiranje

  9. OOP koncept • Objekti su oko nas u realnom svijetu, ljudi razmišljaju o stvarima oko sebe na objektno-orijentisan način • Objekti imaju karakteristike, svojstva, atribute, kao i određena ponašanja • Različiti objekti mogu imati slične atribute i ponašati se na sličan način

  10. Objektno orijentisano programiranje • Strukture podataka i procedure integrisane u klase • Program može da se posmatra kao mreža objekata koji su u interakciji pri čemu svaki objekat zna svoje stanje • Apstrakcija, enkapsulacija, nasljeđivanje i polimorfizam • Ponovno korišćenje objekata

  11. Proceduralno programiranje • Program se može posmatrati kao sekvenca poziva potprograma (procedura) • Strukture podataka se modeliraju odvojeno od koda procedura koje ih obrađuju • Višestruko korišćenje koda postiže se preko biblioteka procedura i funkcija

  12. Karakteristike proceduralnog programiranja • Koncentriše se na procedure – niz akcija, akcijski orijentisano • U suprotnosti sa ljudskim poimanjem realnog svijeta • Jedinica programiranja – funkcija, funkcije se grupišu u programe

  13. Karakteristike OOP • Fokusira se na objekte, slično ljudskom načinu razmišljanja • Omogućava prirodnije modeliranje • Objedinjava atribute i ponašanje objekata • Sakriva detalje implementacije

  14. OOP jezici • C++ • Java • Delphi • C# • Visual Basic .NET • Visual J#

  15. Programski jezik C++ • Objektna nadogradnja jezika C • Početak razvoja (Bjarne Stroustrup) 1979. (C with classes) • Preimenovan u C++ 1983. • Hibridni jezik, nije isključivo objektno orijentisan • Multiplatformski

  16. Programski jezik Java • Razvijen u firmi Sun Microsystems 1995. (James Gosling) • Preuzeti koncepti jezika C++ • Nezavisan od platforme • Java bytecode • Java VM • Java apleti

  17. Programski jezik C# • Microsoft proizvod predstavljen 2000. • Nastao iz programskih jezika C, C++ i Java • Pisan za .NET platformu • Koristi se na Windows sistemima

  18. Modeliranje • Pri razvoju većih programa potrebna je detaljna analiza problema • Na osnovu analize vrši se modeliranje problema, a na osnovu modela i projektovanje programa • UML (Unified Modeling Language) – jezik za modeliranje

  19. Postupak modeliranja • Definisati objekte koji se sreću u opisu problema • Apstrahovati objekte klasama • Definisati elemente klasa • Definisati broj objekata, trenutak njihovog nastajanja, nestajanja i način međusobne interakcije tokom vremena • Definisati odgovornosti

  20. Modeliranje problema klasama • Klase modeluju (apstrahuju) objekte • Atributi (podaci članovi) • Ponašanja (funkcije članovi) • Funkcije članice • Metode • Aktiviraju se kao odgovori na poruke

  21. Programski jezici u okviru predmeta • Teorijski koncepti C++, C# • C++ obuhvata sve OOP koncepte • C# ne posjeduje neke osobine • Praktični dio C#

  22. C, C++, C# • Skoro ista sintaksa, zajedničke mnoge rezervisane riječi • C++ zadržao kompatibilnost sa C, uveo OOP koncepte, ali zadržao i nedostatke C-a • C/C++ se smatraju nesigurnim, “low-level” jezicima • C# potpuno novi jezik, nije kompatibilan sa C/C++ • C# - potpuno objektno orijentisan, “type-safe” jezik

  23. .NET Framework • .NET jezici • Common Language Runtime (CLR) • .NET Framework class library • ASP.NET • Visual Studio

  24. .NET Class Library

  25. Common Language Runtime

More Related