Objektno orijentisano programiranje UVOD Objektno orijentisano programiranje OOP
Objektno orijentisano programiranje
UVOD �Objektno orijentisano programiranje (OOP –Object oriented programming) je razvijeno kao odgovor na sve složenije softverske zahteve. �Koncept za rešavanje ovih zahteva se bazira na nezavisnim jedinicama programske logike i njihovoj ponovnoj upotrebi u softveru. �OOP može da se shvati kao skup povezanih objekata koji zajedno rade. �Svaki objekat je sposoban da prima i predaje poruke od/do drugih objekata i da obrađuje podatke. �Svaki objekat ima svoju ulogu i odgovornost.
OOP - Osnovni koncept �Klasa je apstrakcija nekog objekta iz realnog sistema i uključuje njegove karakteristike (osobine, atribute) i ponašanje (metodi, operacije). �Klasa je nacrt (šablon) koji opisuje prirodu nekih stvari (tvorevina). Ove stvari mogu biti fizički objekti ili neki koncepti, odnosno apstrakcije (npr. klase Ucenik, Nastavnik, Automobil, Radnik. . . )
OOP - Osnovni koncept �Objekat je pojedinačna instanca (primerak) klase. Na primer, objekat Pera Perić je jedna instanca u klasi Ucenici. �Posmatrajući pojedinačne objekte možemo uočiti zajedničke osobine –atribute (npr datum rođenja, mesto stanovanja, razred i odeljenje). �Objekat je nosilac ponašanja u svojoj klasi. �Prema tome, klasa se može definisati kao skup objekata koji imaju iste atribute i ponašanje.
OOP - Osnovni koncepti �Akcije koje primenjujemo nad objektima nazivaju se metodi. �Ako posmatramo klasu Ucenici onda bi metodi mogli biti dobijena ocena, promena odeljenja. . . Na ovaj način se opisuje funkcionalnost objekta. �Metod predstavlja funkciju/radnju primenjenu nad objekoma. U okviru programa samo jedan objekat izvršava metod.
OOP –važne karakteristike �Nasleđivanje �Enkapsulacija �Apstrakcija �Polimorfizam
�Nasleđivanje je specijalizovano svojstvo klase koja nasleđuje atribute i ponašanje svoje nadređene klase (klase roditelja), ali ima i svoje sopstvene atribute i ponašanja. Na primer, u klasi Studenti, studenti svih smerova pripadaju toj klasi, ali smeru Informatika pripadaju samo studenti koji su upisani na odgovarajući program. Višestruko nasleđivanje je kada klasa nasleđuje osobine i ponašanja od više klasa. �Enkapsulacija je sakrivanje funkcionalnih detalja klase od objekata koji mu šalju poruke. Enkapsulacija se postiže specificiranjem koje klase mogu da koriste članice datog objekta.
�Apstrakcija je pojednostavljenje složene realnosti modelovanjem klasa koje odgovaraju problemu. To je kontrolisano izostavljanje karakteristika realnog objekta koje nisu bitne za rešavanje određenog problema. �Polimorfizam omogućava da se izvedene članice klase tretiraju kao članice njihove klase roditelj. To je sposobnost da različiti objekti odgovore na istu poruku na različite načine. Polimorfizam je svojstvo svih objektno orijentisanih programskih jezika, što znači da ista operacija može da se različito ponaša u različitim klasama. Na primer, operacija vožnje klase “automobili” i klase “bicikl” su različiti jer se na jedan način voze automobili a na drugi način bicikli.
Zaključak �Klasom se opisuju objekti sa istim �karakteristikama (podaci članovi) �ponašanjem (funkcionalnostima – metode) �Podaci članovi (atributi) �svaki objekat ima sopstvene vrednosti podataka članova �trenutne vrednosti podataka objekta čine trenutno stanje objekta �Funkcije članice (metodi) �njima je su definisana ponašanja objekta �poziv metoda jednog objekta – slanje poruke �obrada zahteva tj. odgovaranje na poruku
�Objektno orjentisan softver se sastoji od više samostalnih objekata koji su međusobno povezani atributima i operacijama. �Atributi su svojstva ili promenljive koje se odnose na objekat. �Operacije su metode, radnje ili funkcije koje objekat može da izvršava. �Klase čini skup objekata koji imaju velike sličnosti i male razlike.
- Slides: 11