UNIVERZITET U NIŠU VISOKA TEHNIČKA ŠKOLA STRUKOVNIH STUDIJA

SEMINARSKI RAD
Studijski program: Savremene računarske tehnologije Predmet: Programski jezici 2

Tema: Objektno orijentisano programiranje i jezici

Profesor: Student: dr. Milošević Borivoje Branislav 02/11

Majkić REr

....................10 Šta daju OOP i C++ kao rešenje?......3.........................Objektno orijentisano programiranje i jezici Branislav............................................................11 Šta se menja prelaskom na OOP?..................12 2 ..................... Hijerarhija.......................................8 4............Objektno orijentisano programiranje.........................9 4.....................4.....12 Zaključak.......4 Osnovni principi .......................................................................10 4............10 Istorijat jezika C++...............9 4......................................... Sadržaj _ Uvod.............4 Pojam i deklaracija klase.. Apstrakcija............................... RЕr 02/11 Majkić Niš...................................................................3 Objektno-orijentisano programiranje ....................... 2012....................... Učaurivanje (encapsulation)....2......................1................ Polimorfizam..

te i jezici koji tradicionalno nisu bili objektno orijentirani su naknadno dodali OOP koncepte (npr. Od ranih 1980-tih pa do danas ova paradigma je postala najuticajnija paradigma u komercijalnom razvoju softvera. Programski jezici poput C++ i Java programski jezik su svojom popularnošću utvrdili vodeći status OOP-a kao de facto obaveznog pristupa pri razvoju softvera danas. klase. Pascal programski jezik itd. Visual Basic.Objektno orijentisano programiranje i jezici Branislav.). 3 . RЕr 02/11 Majkić Uvod Objektno orijentirano programiranje (OOP) u računarstvu je jedna od programskih paradigmi. Objektno orijentisano programiranje ima niz bitnih koncepata koji menjaju način programiranja u odnosu na strukturne programske jezike. polja i metode. Osnovni koncepti objektno orijentisanog programiranja su objekti.

Objektnoorijentisanim programiranjem (oznaka OOP) preslikavamo isti taj sistem tako što ga predstavljamo kao skup međusobno povezanih objekata. polimorfizam i enkapsulacija. koje će rješavati problem ili probleme. 3. Identifikovanje problema Identifikovanje objekata koji su potrebni za njegovo rešenje Identifikovanje poruka koje će objekti međusobno slati i primati Kreiranje sekvence poruka objektima. objekti su strukture podataka koje predstavljaju određeno i jasno definirano znanje o spoljašnjem svetu ili stvarnosti. Svaki objekat prepoznaje drugi objekat preko njegovog interfejsa. rešiti određeni problem. čime se rešava deo obično šireg isloženijeg problema. Zasniva se na različitim tehnikama. Time se omogućava razdvajanje implementacije od ponašanja objekta u interakciji sa drugim objektima. Rešavanje problema paradigmom objektno-orijentiranog programiranja. kao što su nasleđivanje. 4. ceo sistem se strukturira na manje celine kojima je lakše upravljati. U paradigmi objektno-orijentiranog programiranja. modularnost. Podaci i logika svakog objekta su skriveni od drugih objekata. Tipična organizacija je u hijerarhijske klase. objektno-orijentirano rješavanje problema se sastoji iz četiri koraka: 1. Radi se o dizajnu objekata čija će ponašanja kao jedinica i u njihovoj međusobnoj interakciji. simuliramo) ponašanje nekog sistema.Objektno orijentisano programiranje Strukturnim programiranjem težimo da što realističnije preslikamo (modeliramo. njime je lakše upravljanje i rad. Smatra se da je složenost 4 . gde svaka klasa objekta poseduje informacije o osobinama objekta koje se čuvaju u instancama promenljivih i koje su povezane (konceptom asocijacije) sa svakom instancom u određenoj klasi. koja koristi objekte kao osnovu za projektovanje računarskih programa i različitih aplikacija softvera. Osnovni principi . Sastoji se od identifikovanja objekata i postavljanje objekata koji će se koristiti u odgovarajuću sekvencu za rešenje određenog problema. Uopšteno gledano. pokreće enkapsulirane operacije u tom objektu. Naime.Objektno orijentisano programiranje i jezici Branislav. 2. je vrlo slično ljudskom načinu razmišljanja i rešavanju problema. RЕr 02/11 Majkić Objektno-orijentisano programiranje Objektno-orijentirano programiranje je paradigma programiranja. Interakcija između objekata se sastoji u razmeni poruka. gde određena poruka usmerena prema određenom objektu. Sistem koji je ovako organizovan lakši je za razumevanje. a koje međusobno komuniciraju.

no svaki pokušaj generalizacije iskoraka van inicijalnog domena gotovo bez izuzetka rezultira neuspehom.listu Processing) • Svi problemi su algoritamske prirode (APL . • Svi problemi se mogu iskazati kao skup apstraktnih ograničenja i manipulacija sanjima (Constraint Based Programming). RЕr 02/11 Majkić problema koje je neko u stanju da reši direktno srazmerna predmetu (šta?) i kvalitet (kako?) apstrakcije kojom raspolaže. BASIC. često nema adekvatnu valorizaciju budući da rezultira programima niskog stepena semantike. Objektno-orijentisano programiranje predstavlja implementacionu metodu kod koje su programi organizovani kao kooperativni skup objekata 5 . Alternativa prethodno opisanom pristupu je modeliranje problema koji se rešava. U ovom slučaju. Napor koji je neophodno uložiti u ovo preslikavanje. • Svi problemi se daju iskazati kao lanci odlučivanja (PROLOG PROgrammingLOGic). iako predstavljaju značajan napredak u odnosu na asemblerski jezik. obezbjeđuju podršku određenim Asemblerski jezik poseduje nizak nivo apstrakcije u odnosu na fizičku mašinu (hardvare). zadatak programera je da uspostavi korespondenciju izmenu domena rešenja (apstraktnog modela mašine) i domena problema (apstraktnog modela realnog sveta). a koji u jednom delu leži u samoj strukturi korišćenog programskog jezika. Objektno-orijentisani pristup posebnim čini obezbeđenje alata mehanizama za iskazivanje problema pojmovima iz domena problema. Svi programski jezici apstraktnim kategorijama. Apstrakcije koje ono uvodi su dovoljno opšte tako da programer nije ograničen jednim domenom primene. C) su samo apstrakcije asemblerskog jezika pa. u biti njihove apstrakcija leže kategorije koje odgovaraju arhitekturi računarskog sistema a ne problema koji se rešava. Prvi programski jezici koji su razvijeni na problemskoj orijentaciji uvode specifične apstrakcije realnosti na kojima zasnivaju postupak preslikavanja domena problema u domen rešenja.Objektno orijentisano programiranje i jezici Branislav.Algoritmic Programming Language). Većina imperativnih programskih jezika (FORTRAN. Tipični primeri su sledeći pristupi: Sve probleme je moguće apstrahtovati listom i operacijama nad njom (LISP . • Svi navedeni pristupi predstavljali su dobra rešenja za određenu usku klasu problema za koju su objektivno i dizajnirani.

kao i to šta objekat radi. to je sistem odnosno princip koji nam omogućava da napravljene stvari ne pišemo ponovo. a jedno stanje tog objekta bi moglo da bude M789876. te se za ove jezikene može reći da su objektno-orijentisani. Objekat je entitet koji predstavlja ljude. Cilj 6 . c) omogući nasleđivanje kojim se stvaraju hijerarhije klasa.interface. Atributi opisuju objekat. C + +. Kadet. d) podržava polimorfizam. b) omogući kreiranje viših instanci klase. ne može se reći da je objektno orijentisan.0. ali ne i da stvara nove. korisnik može da koristi neke već predefinisane klase. Da bismo koristili gotov objekt. 2002. Ove poruke mogu da aktiviraju metode nekih drugih objekata. on mora da: a) ima osnovnu jedinicu enkapsulacije i da podržava "skrivanje informacija" u okviru nje (to je klasa). vrednosti atributa određuju stanje objekta. Osnovni pojam u objektno-orijentisanim jezicima je objekat. kao i statičkih i dinamičkih modela posmatranog sistema. a tako aktivirani metodi dalje mogu da izazovu aktiviranje novih akcija nekog sledećeg objekta itd. niti šta je u njemu. Objektno-orijentisana analiza predstavlja analitičku metodu koja zahteve (rekuirements) posmatra iz perspektive klasa i objekata koji pripada domenu problema. Ukoliko neki jezik nema sve ove četiri osobine. Da bi omogućili koordinaciju. model. u programskim jezicima Clipper ili Visual Basic 3.bilo apstraktno bilo konkretno . već samo nadogradimo onim što nama treba. Objektno-orijentisani jezici su Smalltalk. sve što je potrebno da znamo jeste njegova veza sa spoljnim svetom . bela. boja i godina su samo neki od atrbuta objekta "Opel". Java. poruke omogućavaju objektu da komunicira sa drugim objektima. Metodi su procedure dodeljene objektu koje mogu da menjaju stanje objekta (tj mogu da menjaju vrednosti atributa). za trenutni specifični problem. metodi prouzrokuju i poruke (messages) koje šalju drugim objektima.Karakteristike objekata predstavljene su preko atributa i metoda. Da bi neki programski jezik bio objektno-orijentisan. Dakle. Objekti unutar programa moraju da sarađuju. Na primer: serijski broj. ne moramo da znamo kako je on pravljen. mesta ili stvari . Na primer. RЕr 02/11 Majkić pri čemu svaki objekat predstavlja instancu neke klase iz hijerarhije klasa nastale na bazi relacija nasleđivanja (inheritance).Objektno orijentisano programiranje i jezici Branislav. Nasledjivanje (inheritance) je osnova razvoja objekata. Objektno-orijentisani dizajn predstavlja projektantsku metodu koja obuhvata proces objektno orijentirane dekompozicije i notaciju za iskazivanje logičkih i fizičkih.

predstavlja primer objektno-orijentisanog programiranja primenjen na podatke o zaposlenima u jednoj firmi.Objektno orijentisano programiranje i jezici Branislav. RЕr 02/11 Majkić nasleđivanja je preuzimanje osobina jednog ili više roditeljskih objekata. Tako. koja nasljeđuje sve atribute. . može da produkuje određenu klasu (ili više njih). oni i dalje formalno postoje u toj klasi. jednom kreiran objekat može biti neograničeno mnogo puta korišten. Nasleđivanje predstavlja princip da jednom definisana klasa.Klase. Međutim. podklase i Slika Štampa (metode) Plaćeno (podklasa od Nedeljna plata) Ime i prezime (atribut) Plata nasleđivanje Štampa (metode) (podklasa od 7 . bilo dodavanjem novih metoda i podataka. bilo primenom već postojećih. Zaposleni (klasa) Ime i prezime (atribut) Štampa (metoda) Nedeljna plata Zaposleni) Ime i prezime (atribut) Štampa (metode) Satnica (podklasa od Nedeljna plata) Ime i prezime (atribut) Cena sata Sati nedeljno 1. i njihova dogradnja na potreban nivo. Podređene klase mogu da isključe neke postojeće i uključe nove atribute ili metoda nadređene klase. metode i poruke te (nadređene) klase koja ju je generirala. čime se u mnogome povećava brzina rada i produktivnost. Šema 1. to isključivanje pojedinog atributa ili metode nije bukvalno. samo im je onemogućen pristup.

Klasa definiše novi tip. i nazivaju se ZAŠTIĆENIM članovima klase (engl. Članovi (podaci ili funkcije): • klase Iza ključne reci PRIVATE: zaštićeni su od pristupa spolja (enkapsullranisu). ali ne i korisnicima spolja. Jedan primerak takvog tipa (Instanca klase) naziva se objektom te klase (engl. predstavljeno atributima. RЕr 02/11 Majkić Pojam i deklaracija klase Klasa je realizacija apstrakcije koja ima • svoju internu predstavu (svoje atribute) i • operacije koje se mogu vršiti nad njom (javne funkcije članice). protected class members). ali se preporučuje baš navedeni redosled. Kaže se još da klasa ima svoje unutrašnje stanje. a onaj koji je prima (čija je funkcija članica pozvana) je objekat-server. • • Redosled sekcija public. samo navođenjem njihovog imena.upućivanje poruke objektu klase. Preporuka je da se klase projektuju tako da nemaju javne podatke članove. Funkcije koje su deo klase nazivaju se funkcije članice klase (engl. data members). private class members). protected i private je proizvoljan. Članovi iza ključne reči PROTECTED: dostupni su funkcijama članicama date klase. Podrazumevano (ako se ne navede specifikator ispred) su članovi privatni. Kontrola pristupa članovima nije stvar objekta. Ovim članovima mogu pristupati samo funkcije članice klase. Javne funkcije članice nazivaju se još i metodima klase. kao i klasa izvedenih iz te klase. Ovi članovi nazivaju se PRIVATNIM članovima klase (engl. odnosno uputiti poruku drugom objektu. odnosno kada mu se uputi poruka. Podaci koji su deo klase nazivaju se podaci članovi klase (engl. Unutar funkcije članice klase. Objekat klase menja svoje stanje kada se pozove njegov metod. Objekat koji šalje poruku (pozivafunkciju) naziva se objekat-klijent. Članovi iza ključne reči PUBLIC: dostupni su spolja i nazivaju se JAVNIM članovima klase (engl. Objekat unutar svoje funkcije članice može pozivati funkciju članicu neke druge ili iste klase.Objektno orijentisano programiranje i jezici Branislav.class object). memberfunctions). članovima objekta čija je funkcija pozvana pristupa se direktno. nego klase: jedan objekat neke klase iz svoje funkcije članice može da pristupi privatnim 8 . koje menja pomoću operacija. public class members). a poziv ovih funkcija .

neki faks. Navedena deklaracija je zapravo definicija klase. modularnost i 4. kao i tri bitna. Međutim. kreirana tako da naglasi za nas relevantne karakteristike. Apstrakcija. ali se iz istorijskih razloga naziva deklaracijom. To je polimorfizam. ili peti. uključujući i konstruktore. telefone .2. Kreirajući objekte u programu mi kreiramo jasno definisanu 9 .neki su crveni sa kružnim brojčanikom.1. uvek moći da ga koristimo. na osnovu oblasti važenja. a zatim se određuje da li se tom entitetu može pristupiti. tipizacija podataka. overload) funkcije članice. drugi. kontrola pristupa članovima je potpuno odvojena od koncepta oblasti važenja: najpre se. Većina autora se danas slažu u tome da objektni model čine četiri osnovna elementa: 1. neki imaju automatsku sekretaricu. Deklaracijom klase smatra se deo kojim se specifikuje ono što korisnici klase treba da vide. na primer. 4. ignorišući sve nama nebitno. Celokupna Njutnova fizika nikada ne bi bila razvijena da Njutn nije zanemario otpor vazduha koji je usporavao jabuku dok mu je padala na glavu. perzistencija. konkurentnost izvršavanja i 3. elementa: 1. Apstrakcija Apstrakcija je pojednostavljena predstava nekog sistema. Takođe. 2. o kojoj nikad ne razmišljamo na tako formalan način je postavila temelje ceelokupnih prirodnih nauka. Polimorfizam Kako definisati polimorfizam? Posmatrajmo. hijerarhija. 4. mogućnost da se n-ti objekat u naslednoj hijerarhiji poziva na isti način kao i prvi. To su uvek javni članovi. Ona predstavlja jedan od osnovnih mehanizama pomoću kojih se ljudi bore sa kompleksnim problemima.Objektno orijentisano programiranje i jezici Branislav. neka vrsta standardizacije na nivou objekata. kako god oni izgledali. 3. ali ne i neophodna. apstrakcija. neki su beli sa dugmićima. sve ih koristimo na isti način: podignemo slušalicu i izaberemo broj. RЕr 02/11 Majkić članovima drugog objekta iste klase. učaurivanje. I znamo da ćemo bez obzira na to kako telefon izgledao. određuje entitet na koga se odnosi dato ime na mestu obraćanja u programu. 2. Moguće je preklopiti (engl.

Osnovna prednost modularnih programa je u tome što dozvoljavaju deljenje programa na manje cjeline. Kao što smo istakli. u okviru kojih se onda nalaze definisane klase. može da produkuje podređenu klasu (ili više njih). i obično obuhvata: koje klase nasleđuje. Istorijat jezika C++ C++ je najvažniji programski jezik kada je reč o razvoju softvera visokih performansi. u stvari. Ideja učaurivanja je da se sve potrebne procedure i podaci koji su potrebn iza te procedure smeste u jedan objekat. zahvljujući principu nasleđivanja. Tako definisano stablo klasa predstavlja hijerarhiju. Ne može npr instanca klase Zaposleni ujedno biti i instanca klase Nedeljna plata. 4. Često se kaže da je jezik C++ 10 .Objektno orijentisano programiranje i jezici Branislav. dok jedna instanca može pripadati samo jednoj klasi. pošto se instanca ponaša po opisima u klasi. RЕr 02/11 Majkić strukturu. C++ je proširen i poboljšan jezik C sa podrškom za objektno orijentisano programiranje. tada uvek postoji mogućnost da neka procedura pokuša da obradi neodgovarajuće podatke. čime je olakšano razumevanje programa. 4. birajući samo one osobine tog objekta koje su nam potrebne. jednom definisana klasa. Ona. a ideje koje su korišćene tokom njegovog dizajniranja česzo se sreću u računarstvu. Istorijat jezika C++ počinje od jezika C. tj radnu kopiju u memoriji. dok je klasa neupotrebljiva bez svoje instance. koji metodi se menjaju i / ili dodaju. iz prostog razloga što se na njemu zasniva. koje ih obrađuju. Sintaksa ovog jezika postala je standard drugim programskim jezicima. Kada su podaci i procedure razdvojeni. Na taj način podaci se direktno prosleđuju procedurama. dok je instanca praktična primena. koji podaci se dodaju. Hijerarhija Hijerarhija se definiše kao redosled apstrakcija. Klasa je samo definicija objekta. Klasa je vezana za teorijski deo objektno orijentisanog programiranja. Jedna klasa može imati više instanci u memoriji. Modularnost se postiže deljenjem programa na više logičkih celina. Jedno bez drugog nemogu. a naš je zadatak da predstavimo nešto čije osobine nisu baš jasno definisane. i u praktičnim smislu.3. Zbog toga apstrahujemo realan pojam i predstavljamo ga objektom. Učaurivanje (encapsulation) Učaurivanje predstavlja sledeću bitnu karakteristiku objektnoorijentisanog programiranja.4. Da bi neka klasa "oživela" potrebno je da ima svoju instancu. predstavlja mrtvo slovo na papiru. predstavlja uputstvo za ponašanje objekata.

Objektno orijentisano programiranje i jezici Branislav. a C++ podržava. na primer. sledeće važne koncepte: apstraktne tipove podataka. baza podataka. Krajem sedamdesetih godina programi sa nekoliko hiljada redova koda više nisu bili retkost. i na polju programskih jezika stanje se menjalo. Često se sreću C++ aplikacije poput editora. kako su se programi razvijali. prilagodljivost i filozofiju. Osim podrške za OOP. tj. RЕr 02/11 Majkić objektno orijentisani jezik C. enkapsulaciju. Enkapsulacija je zaštita unutrašnje realizacije tipa od pristupa spolja. mora se prvo razumeti C. I pored svega toga. C++ i OOP nastali su kao odgovor na te probleme. koji je posedovao neke važne osobine koje su ga činile pogodnim za taj zadatak. godine. Kada je projektovao C++. a istovremeno je dodao podršku za OOP. sistema za upravljanje datotekama. Takođe. podržavao je pojam klasa. počeli su da postaju složeni da nisu mogli da se sagledaju u celini. da bi se u potpunosti razumeo C++. Šta daju OOP i C++ kao rešenje? • • • • OOP daje kao rešenjaa. ponegde dopunjena delovima u asembleru ako je brzina bila kritični faktor. nasleđivanje i polimorfizam. jer se OOP atributi mogu efikasno primeniti na bilo koji programski zadatak. Pri tom je koristio jezik Simula. Pre toga. Zbog toga. Dizajn ovog jezika uticao je na sve kasnije programske jezike jer je iz osnova promenio pristup programiranju. C++ je projektovao Danac Bjarne Stroustrup 1979. Jezik C je osmislio i prvi implementirao Denis Riči pod operativnim sistemom UNIX. Međutim. on je radio na svom doktoratu na Kembridžu gde je proučavao distribuiranu odbranu. on nipošto nije ograničen isključivo na njih. Pojavila se potreba za rešenjima koja će upravljati tom složenošću. tj struktura koje objedinjuju podatke i funkcije za rad sa njima. Koncept apstraktnih tipova podataka omogućava da se u programu definišu korisnički tipovi predstavljeni internom strukturom podataka i operacijama koje se mogu vršiti. da bi ubrzo stekao brojne sledbenike širom sveta iz više razloga: bio je lak za savladavanje. Iako je C++ prvobitno projektovan kao pomoć u projektovanju veoma velikih programa. davao je brzi kod. Stroustrup je zadržao pristup jetika C. uključujući njegovu efikasnost. duh i suština jezika C++ direktno su nasleđeni iz jezika C. Od tada pa sve do pre desetak godina većina programa bila je pisana u jeziku C. 11 . u jeziku C++ su poboljšane i ugrađene biblioteke u poređenju sa jezikom C. Dobijeni kod je bio vrlo razumljiv. Pošto je C++ zadržao efikasnost jezika C. omogućavao je modularno pisanje programa. sadržavao je samo naredbe koje se lako prevode u mašinski jezik. mnogi softverski sistemi kod kojih su kritične performanse programirani su u jeziku C++. a Stroustrup je bio posebno oduševljen načinom na koji je sam jezik usmeravao programera prilikom razmišljanja o problemu. Nasleđivanje je relacija između tipova: jedan tip predstavlja jednu vrstu drugog tipa. Pojavljivanje jezika C sedamdesetih godina prošlog veka označilo je početak modernog doba u programiranju. umrežavanje i komunikaciju. C++ se često sreće i u programima za operativne sisteme Windows i Linux.

a ne direktno o programskom rešenju. Rešavanje problema paradigmom objektnoorijentisanog programiranja. mnogo više vremena se troši na projektovanje. 12 . C++ podržava i koncept preklapanja operatora: mogu se definisati značenja operatora ugrađenih u jezik. Jezik C++ se može koristiti i kao “malo bolji C”. Kao ãto je već rečeno. 5. a manje na samu implementaciju (programiranje. za korisničke tipove. U OOP-u se razmišlja o problemu koji se rešava. 4. već samo pomaže da se pišu mnogo bolji programi. o tome kako se nešto radi. tj. a ne o algoritmima.Objektno orijentisano programiranje i jezici Branislav. RЕr 02/11 • • Majkić Polimorfizam predstavlja ponašanje nasleđenog tipa na njemu svojstven način. pažnja se prebacuje sa realizacije delova programa na međusobne veze između tih delova. skraćeno OOP) je novi pristup realizaciji softvera kao modelarealnog sveta. ali se time ništa ne dobija (čak se ponekad i gubi). Evo nekoliko napomena o tome šta se meša u razmišljanjuu i pisanju programa na OO način: 1. Šta se menja prelaskom na OOP? • • OOP uvodi drugačiji način razmišljanja u programiranje. U OOP-u. jezik C++ nije čisti objektno orijentisani programski jezik koji bi korisnika “naterao” da ga koristi na objektno orijentisani (skraćeno OO) način. Cilj OOP-a je da smanji interakciju između softverskih delova.Sastoji se od identifikovanja objekata i postavljanje objekata koji će se koristiti uodgovarajuću sekvencu za riješenje određenog problema. Strukturnim programiranjem težimo da što realističnije preslikamo (modeliramo. je vrlo slično ljudskom načinu razmišljanja i rešavanju problema. U OOP-u najznačajnije je projektovanje. OOP uvodi drugačiji način razmišljanjaa u programiranje! 2. 3. Zaključak Kao što smo naveli. U OOP-u se razmišlja o delovima sistema (objektima) koji nešto rade. iako se koristi kao osnovni tip. objektno orijentisano programiranje (Object Oriented Programming. kodovanje). C++ treba koristiti kao sredstvo za implementaciju objektno orijentisanog modela i kao smernicu za razmišljanje o problemu. U OOP-u. Težnja je da se broj i intenzitet tih veza što više smanji i da se one strogo kontrolišu. a sama realizacija (kodovanje) je jednostavniji posao koji se odlaže za kasnije. C++ ne sprečava da se pišu loši programi. simuliramo) ponašanje nekog sistema.

RЕr 02/11 Majkić Objektno orijentisano programiranje predstavlja implementacionu metodu kod koje su programi organizovani kao kooperativni skup objekata pri čemu svaki objekat predstavlja instancu neke klase iz hijerarhije klasa nastale na bazi relacija nasleđivanja (inheritance). kreirana tako da naglasi za nas relevantne karakteristike. i mnogo više vremena se troši na projektovajne.Objektno orijentisano programiranje i jezici Branislav. a manje na samu implementaciju. Apstrakcija je pojednostavljena predstava nekog sistema. ignorišući sve nama nebitno. 13 . Učaurivanje predstavlja sledeću bitnu karakteristiku objektno-orijentisanog programiranja. Ona predstavlja jedan odos novnih mehanizama pomoću kojih se ljudi bore sa kompleksnim problemima. OOP uvodi drugačiji način razmišljanja u programiranje.

Sign up to vote on this title
UsefulNot useful