1 / 11

Programske paradigme i stilovi programiranja

Programske paradigme i stilovi programiranja. Vladimir Filipovi ć vladaf@matf.bg.ac.rs. Zahtevi koji se postavljaju pred program Da korektno radi, tj. da daje korektne rezultate. Da bude lako čitljiv, kako bi se mogao lakše održavati i nadograđivati u budućnosti.

kieve
Download Presentation

Programske paradigme i stilovi programiranja

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. Programske paradigme i stilovi programiranja Vladimir Filipović vladaf@matf.bg.ac.rs

  2. Zahtevi koji se postavljaju pred program • Da korektno radi, tj. da daje korektne rezultate. • Da bude lako čitljiv, kako bi se mogao lakše održavati i nadograđivati u budućnosti. Pregled metodologija programiranja • “Trik”programiranje – karakteriše tzv. Herojsko doba računarstva. U ovom periodu programi su pisani bez opštih pravila. Korišćenje specifičnosti u radu računara, trikovi za uštedu memorije, pisanje samomodifikujućih programa su bile karakteristika vrhunskog profesionalca. Ali takav pristup je dovodio do kreiranja teško čitljivih programa. • Strukturno programiranje. • Objektno orijentisano programiranje

  3. Strukturno programiranje • Autori prvih radova o strukturnom programiranju su E.W. Dijkstra, A.P. Hoare, N. Wirth i dr. • Popularnosti strukturnog programiranja doprinela i pojava programskog jezika PASCAL. • Strukturno programiranje bilo povezano sa automatskim dokazivanjem korektnosti programa. • Pod strukturnim programiranjem podrazumeva se opšta metodologija za pisanje kvalitetnih programa. Ona sadrži: • Programiranje od opšteg ka posebnom (top-down) • Modularnost • Korišćenje ograničenog broja upravljačkih struktura u zapisu programa

  4. Objektno-orijentisano programiranje • Objekat - integralna celina podataka i procedura za rad sa njima. Zbog prisustva procedura u objektima, objekti imaju mogućnost da samostalno deluju, tj. postaju dinamički. • Objektno-orijentisano programiranje- programska paradigma zasnovana na skupu objekata koji dejstvuju međusobno. Glavne obrade zasnivaju se na manipulisanju objektima. • Metod - funkcija koja je sastavni deo objekta, tj. postupak kojim se realizuje poruka upućena objektu. • Poruka - skup informacija koji se šalje objektu. Sastoji se iz adrese (objekta primaoca poruke) i saopštenja (kazuje šta treba da se uradi).

  5. Klasa - Skup objekata sa zajedničkim svojstvima (koji se ponašaju na isti način). Definiše šablon za kreiranje instanci. • Primerak (instanca) - konkretan objekat iz klase. Skup instanci sa skupom metoda kreira jednu klasu. • Klasa B je potklasa klase A ako su svi primerci klase B istovremeno i primerci klase A. Za klasu kažemo da je nadklasa klase B. Potklase nastaju dodavanjem novih svojstava (metoda) postojećoj klasi. • Nasleđivanje - mehanizam za kreiranje novih klasa iz postojećih. Nasleđivanjem se formiraju relacije između jedne i više drugih klasa. • Polimorfizam - Mogućnost primene istog metoda (operatora) na primerke različitih klasa.

  6. Primeri nasleđivanjaPrilikom projektovanja programa uočavaju se veze između pojedinih klasa i način povezivanja tih klasa sa drugim klasama. Ovde je bitna uloga nasleđivanja. •  Živo biće •  Životinja  Biljka •  Sisar  Ptica •  Grabljivica  Pevačica •  Jastreb  Orao

  7. Još jedan primer hijerarhijskog nasleđivanja bibliotečki primerak časopis knjiga mikrofilm dnevni ostali beletristika stručna

  8. Primer višestrukog nasleđivanja(klasa može imati više direktnih natklasa) letilica vozilo brod jedrilica avion sa motorom bez motora putničko teretno amfibija Višestruko nasleđivanje nije podržano u jeziku Java, ali jeste u jeziku C++.

  9. Uloga pojedinih pojmova (Wagner) Ada, Actors Objektno-zasnovani jezici +klasa Klasno zasnovani jezici +nasleđivanje CLU Objektno-orijentisani jezici Smalltalk, Simula 67

  10. Zašto je objektno-orijentisan koncept doživeo veliki uspeh? • Ponovno korišćenje softvera. • Pogodan za: analizu, projektovanje i programiranje. • Najpogodniji za simuliranje događaja. • Objašnjenje se delimično može naći kroz pogled istorijskog razvoja OOP. • 1967: Dall i Simula 67. • 70-tih godina: A. Kay i Smalltalk. • Razvoj ostalih OO jezika.

  11. Dalji razvoj paradigmi programiranja • Programiranje vođeno događajima • Aspekt-orjentisano programiranje • Ekstremno programiranje • Obrasci dizajna • Unifikovani jezik za modeliranje – UML

More Related