Professional Documents
Culture Documents
Osnovni Principi Objektno Orijentisanog Programiranja
Osnovni Principi Objektno Orijentisanog Programiranja
programiranje
Osnovni principi objektno
orijentisanog programiranje
reavanje problema je pravljenje modela,
modeliranje je usposatvljanje analogije izmeu
originala i modela
apstrakcija
enkapsulacija
nasleivanje, polimorfizam
generalizacija, specijalizacija
apstrakcija - kontrolisano ukljuivanje i
iskljuivanje nekih detalja o objektu prilikom
kreiranja modela na osnovu realnih objekata
u OOP pri modeliranju polazimo od realnog
sveta
svaki objekat iz realnog sveta pored statikih
osobina ima i dinamike
akcije koje objekat moe da uradi sastavni su
deo samog objekta
svaki objekat ima svoje unutranje stanje i
skup akcija koje moe da uradi
Objekat i klasa
Objekat karakteriu podaci i ponaanje
Podaci predstavljaju stanje objekta- atributi
Ponaanje objekta je ono to objekat moe da uradi
metode
Program moemo posmatrati kao skup
objekata, koji meusobno komuniciraju
Objekti komuniciraju slanjem poruka tj.
pozivom metoda
Metode objekta predstavlju njegov interfejs
Klasa je apstrakcija (uoptavanje) konkretnih
objekata
Klasa je ablon od kojeg se prave objekti
Klasom definiemo atribute i metode koje poseduju
svi objekti napravljeni pomou te klase
Objekat je primerak, instanca klase
Svaki objekat ima sopstvenu kopiju atributa (po
kojoj se meusobno razlikuju objekti iste klase) i
kopiju metoda.
Ne pravi se fizika kopija metoda za svaki objekat, ve svaki
objekat pokazuje na isti fiziki kod metode. To je pitanje
realizacije, sa konceptualnog gledita moemo zamisliti da
svaki objekat ima sopstvenu kopiju atributa i metoda.
klasa Ucenik
-JMBG
-Ime atributi
-Prezime
-Adresa
-Razred
-Odeljenje
+ uzmiJMBG
+uzmiImePrezime metode
+uzmiAdresu
+promeniAdresu
...
Objekti klase Ucenik
objekat 1 objekat2
2204988.... 1005988....
Pera Milica
Petrovic Kovacevic
Knez Mihailova 34 Kraljice Natalije 39
3 2
1 3
+ uzmiJMBG + uzmiJMBG
+uzmiImePrezime +uzmiImePrezime
+uzmiAdresu +uzmiAdresu
+promeniAdresu +promeniAdresu
... ...
enkapsulacija
Objekat ne otkriva sve svoje atribute i
ponaanja
Detalje koji nisu vani za korienje objekta
treba saktiti od ostalih objekata
Enkapsulacija predstavlja zatitu objekta od
izmena koje nisu predviene interfejsom
Enkapsulacija se ostvaruje razliitim nivoima
pristupa atributima i metodama objekta
(privatni (private), javni (public) lanovi klase)
Nasleivanje
Uoavanjem zajednikih osobina niza klasa
(Ucenik, Profesor, Roditelj ) moemo dobiti novu
klasu na viem nivou apstrakcije (Osoba).
Ovakva operacija naziva se generalizacija, a
obrnuta operacija je specijalizacija.
Generalizacija i specijalizacija su osnovne
operacije koje se koriste pri modeliranju.
Klase dobijene specijalizacijom nasleuju sve
atribute i metode polazne klase.
Nasleivanje dozvoljava klasi da nasledi atribute i
metode neke druge klase, tako pravimo novu
klasu apstrahujui zajednike atribute i metode.
Nasleivanjem je obezbeeno viestruku
upotrebu programskog koda i olakava
celokupno projektovanje.
+ uzmiJMBG
+ uzmiImePrezime
+ uzmiAdresu
+ promeniAdresu
Izvedene klase
Klasa Ucenik Klasa Profesor Klasa Roditelj
- skola - skola - zanimanje
- razred - spisak predmeta - telefon na poslu
- odeljenje - strucna sprema
generalizacija
specijalizacija
Ptice
Ptice letaci
Vrabac
Golub
....
Ptice neletai
Pingvin
Noj
....
Osnovna (nadreena, roditeljska) klasa nadklasa -
sadri sve atribute i metode koje su zajednike za sve
klase koje je nasleuju.
Izvedena (podreena) klasa podklasa - nasleuje sve
atribute i metode nadklase, a moe da sadri i svoje
sopstvene dodatne atribute i metode, kako i da
predefinie neke metode iz nadklase.
Figura
Pravougaonik
Kvadrat
Trougao
Krug