Professional Documents
Culture Documents
SP VS Oop
SP VS Oop
SEMINARSKI RAD
IZJAVA: Ja, Benjamin Hodi, student Sveuilita/Univerziteta Vitez Vitez, Indeks broj:
0366-15/RIT odgovorno i uz moralnu i akademsku odgovornost izjavljujem da sam ovaj rad
izradio potpuno samostalno uz koritenje citirane literature i pomo profesora odnosno
asistenata.
1. UVOD ................................................................................................................... 1
5. ZAKLJUAK ........................................................................................................ 15
6. LITERATURA ....................................................................................................... 16
1. UVOD
Programiranje je pisanje niza naredbi koje ine program. Taj korak tijesno je vezan
za programski jezik u kojemu se program pie, a esto i od hardverske opreme na
kojoj se program izvodi. Prilikom pisanja programa programer mora voditi rauna o
tome da kvalitetno iskoristi resurse koji su mu na raspolaganju. Uz bolje iskoritenje
resursa dolazi do smanjenja vremena izvravanja programa, to je za nas programere
veoma bitan parametar.
Programska paradigma odreuje stil programiranja, kao i pogled koji programer ima
nad programom i njegovim izvravanjem. Na primjer, u objektnom programiranju
programer razmilja o programu kao o skupu interaktivnih objekata, dok u
strukturiranom programiranju na program gleda kao na redoslijed naredbi. Neki
programski jezici su nainjeni da podravaju samo jednu paradigmu (kao Java i
Smalltalk za objektno programiranje, dok Haskell i Scheme podravaju strukturirano
programiranje). Takoe, imamo jezike koji koji podravaju vie paradigmi (kao to
je LISP, Python i C++).
Paradigma programiranje je, u stvari, nain na koji programer koncipira program, ali
prvenstveno predstavalja nain izvrenja programa. Primjera radi, u objektno
orjentisanom programiranju programer promatra program kao skup objekata koji
meusobno komuniciraju, dok u funkcijskom programiranju program se promatra
kao niz evaluacija funkcija.
1
1.2 Hipoteza rada
2
2. OSNOVNE RAZLIKE IZMEU SP I OOP
Programski sistem, mogao bi se definisati kao skup mehanizama koji rade neke
operacije nad podacima. To znai da proces formiranja koncepta programskog
sistema moemo promatrati sa dva aspekta: moemo se usredotoiti primarno na
funkcije, ili primarno na podatke. Sama bit razlika izmeu tradicionalno
proceduralnih paradigmi i novih objektno orjentisanih lei u primarnom fokusu.
1
N. Pavkovi, D.Marjanovi, Programiranje i algoritmi, Fakultet strojarstva i brodogradnje, Zagreb,
2005., str. 31.
3
specifinom zadatku u procesu. Dekompozicija se odvija striktno po funkcionalnim
linijama, odnosno vodi se rauna samo o tome ta koji modul radi.2
Jezik C++ nije potpuno objektno orijentisani programski jezik, koji bi korisnika
"natjerao" da ga koristi na objektno orijentisani (OO) nain. C++ moe da se koristi i
kao malo bolji C, ali se time nita ne dobija (ak se i gubi). C++ treba koristiti kao
sretstvo za OOP i kao smjernicu za razmiljanje. C++ ne sprjeava da se piu loi
programi, ve samo omoguava da se piu mnogo bolji programi.
2
N. Pavkovi, D.Marjanovi, Programiranje i algoritmi, Fakultet strojarstva i brodogradnje, Zagreb,
2005., str. 32.
4
3. STRUKTURIRANO PROGRAMIRANJE
5
Struktuirano programiranje bilo je vrsto vezano za tehniku razvoja programa tzv.
sekcesivnom dekompozicijom (top-down), koja se izvodi postepenom detaljizacijom
programa od grube eme do nivoa spremnog za kompilaciju. Ova veza je toliko
vrsta da se tehnika sekcesivne dekompozicije izjednaavala sa metodologijom u
cjelini to je pogreno, naroito u novije vrijeme kada sama tehnika vie ne
predstavlja osnovu za izgradnju softverskih sistema, dok je struktuirani nain
razmiljanja i dalje u potpunosti aktuelan.
3
https://www.scribd.com/doc/46911811/Strukturirano-programiranje - skenirani dijelovi knjige
(Duan Malbaki) (28.06.2016.g.)
6
koji su isto hijerarhijske prirode. Naalost, mnogi stvarni problemi nisu
hijerarhijski.
4
N. Pavkovi, D.Marjanovi, Programiranje i algoritmi, Fakultet strojarstva i brodogradnje, Zagreb,
2005., str. 32.
7
4. OBJEKTNO ORIJENTISANO PROGRAMIRANJE
5
B. Mayer, Objektno orjentisano konstruisanje softvera, CET, 2002. str 22.
8
osobina. Objektno orjentisani program opisje objekte koji se pojavljuju u aplikaciji -
to ini sa klasama ije instance su objekti. Dakle, objekat je softverski koncept koji
modelira aplikacijski entitet. Klasa je programski (softverski) koncept koji opisuje
skup objekata.6
Objektna tehnika razvoja sistema koristi isti model kroz cijeli tok razvoja
sistema:
6
B. Mayer, Objektno orjentisano konstruisanje softvera, CET, 2002. str 23.
9
4.1. Koncept objekta
Objekti:
Enkaspuliraju atribute
- Atributi:
- odreuju mogua stanja objekta
7
N. Pavkovi, D.Marjanovi, Programiranje i algoritmi, Fakultet strojarstva i brodogradnje, Zagreb,
2005., str. 33.
10
- su ekstrahirani iz domene upotrebom deklarativne ili informacijske
apstrakcije
- mogu biti jednostavni ili kompleksni tipovi podatka
- mogu imati jednu ili vie (skup) vrijednosti.
Enkapsuliraju operacije.
- Operacije:
- odreuju ponaanje objekta
- su ekstrahirane iz domene upotrebom proceduralne ili procesno
orjentirane apstrakcije
- sadre ulazne i izlazne parametre, te vrijednosti koje vraaju
- se pozivaju kao odgovor na primanje poruke
Mogu biti aktivni i pasivni.
- Aktivni objekti imaju nit kontrole i mogu inicirati aktivnost.
- Pasivni objekti samo primaju zahtjeve od ostalih objekata i nemaju nit
kontrole.
Mogu biti stalni ili tranzijentni. Stalni objekti postoje i nakon prestanka
postojanja njihovih kreatora, a tranzijentni objekti postoje samo za vrijeme
postojanja njihovog kreatora.
Imaju identitet, tj. svaki objekat je jedinstven.
Sudjeluju u relacijama i dogaajima.
11
4.2. Koncept klase
Objekat je, u biti, instanca klase, a klase slue da kao predloci da bi se kreirali
objekti. Klase imaju ivotni ciklus koji dijele sa svojim objektima.
8
N. Pavkovi, D.Marjanovi, Programiranje i algoritmi, Fakultet strojarstva i brodogradnje, Zagreb,
2005., str. 35.
9
B. Mayer, Objektno orjentisano konstruisanje softvera, CET, 2002., str. 30.
12
Klase:
Bave se implementacijom uniformnih strukturalnih osobina i osobina
ponaanja.
Imaju sposobnost da definiu uzorke za objekte klase. Klasama se odreuje
struktura i ponaanje tih objekata
Imaju sposobnost da kreiraju objekte. Klasa se posmatra kao tvornica
objekata. Klase takoe mogu odravati reference na sve svoje objekte.
Enkapsuliraju atribute.
-Atributi:
- su implementirani klasom
- mogu biti vezani sa klasom kao cjelinom svi objekti imaju istu
vrijednost, tj. atributi su unutar dometa svih objekata te klase.
Enkapsuliraju operacije
- Operacije su:
- implementirane kao metode ili potprogrami, a obino se nazivaju
servisima koje nudi klasa.
- mogu biti vezane uz objekte klase
- mogu biti vezane sa klasom kao cjelinom
- mogu biti apstraktne, tj mogu imati specificirano samo suelje, bez
implementacije, ali takve klase ne mogu imati instance.
13
4.3. Osnovni elementi objektnog modela
10
https://hr.wikipedia.org/wiki/Objektno_orijentirano_programiranje (28.06.2016.g.)
14
5. ZAKLJUAK
15
6. LITERATURA
Knjige:
Internet stranice:
1. https://www.scribd.com/doc/46911811/Strukturirano-programiranje - skenirani
dijelovi knjige (Duan Malbaki) (12.01.2016.g.)
2. https://hr.wikipedia.org/wiki/Objektno_orijentirano_programiranje (14.01.2016.g.)
16
17