ljstojanovic

Materijal za Racunarstvo i informatiku

Objektno orijentisano programiranje

Mala_skola_programiranja_Csharp

https://midusware.wordpress.com/iii-razred/zadaci-sa-vezbi-c/

 

 

 

 

 

Objektno orijentisano programiranje

Objektno orijentisano programiranje je paradigma programiranja koja koristi objekte  kao osnovu za projektovanje računarskih programa i različitih aplikacija softvera.  Zasniva se na različitim tehnikama, kao što su nasledjivanje, modularnost, polimorfizam, enkapsulacija.

Rešavanje problema paradigmom objektno-orijentisanog programiranja, je vrlo slično ljudskom načinu razmišljanja i rešavanju problema. Sastoji se od identifikovanja objekata i postavljanje objekata koji će se koristiti u odgovarajuću sekvencu za rešenje određenog problema. Radi se o dizajnu objekata čija će ponašanja kao jedinica i u njihovoj međusobnoj interakciji, rešiti određeni problem. Interakcija između objekata se sastoji u razmeni poruka, gde određena poruka usmerena prema određenom objektu, pokreće enkapsulirane operacije u tom objektu, čime se rešava deo obično šireg i složenijeg problema. Uopšteno gledano, objektno-orijentisano rešavanje problema se sastoji iz četiri koraka:

  1. identifikovanje problema
  2. identifikovanje objekata koji su potrebni za njegovo rešenje
  3. identifikovanje poruka koje će objekti međusobno slati i primati
  4. kreiranje sekvence poruka objektima, koje će rešavati problem ili probleme.

U paradigmi objektno orijentisanog programiranja, objekti su strukture podataka koje predstavljaju određeno i jasno definisano znanje o spoljašnjem svetu ili stvarnosti. Tipična organizacija je u hijerarhijske klase, 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. Svaki objekat prepoznaje drugi objekat preko njegovog interfejsa. Podaci i logika svakog objekta su skriveni od drugih objekata. Time se omogućava razdvajanje implementacije od ponašanja objekta u interakciji sa drugim objektima.

Osnovne osobine objekata su identitet, stanje i ponašanje. Identitet predstavlja naziv objekta kojim se određeni objekat razlikuje od ostalih. Stanje objekta je deo prošlosti i sadašnjosti koje određuju ponašanje objekta u budućnosti. Ponašanje objekta je određeno operacijama koje se nad objektom mogu izvršiti, a aktiviranje operacije se vrši porukom.

Svaka klasa se sastoji od:

  • podataka – članova
  • objekat – član
  • funkcija članica – metoda

Podatak, član i objekat član su atributi klase, i pomoću njih je opisano stanje objekata. Objekat je model entiteta a atributi su esencijalne osobine entiteta koje ga opisuju. Metode definišu ponašanje objekata.

Principi objektno orijentisanog programiranja

  1. Sve je objekat
  2. Program je skup objekata koji zadaju poslove jedan drugom preko slanja poruka
  3. Svaki objekat poseduje sopstvenu memoriju
  4. Svaki objekat pripada sopstvenoj klasi
  5. Svi objekti iste klase mogu primati iste poruke

Temelji objektno orijentisanog programiranjaApstrakcija i skrivanje informacija

  1. Enkapsulacija
  2. Modularnost
  3. Polimorfizam
  4. Veze između klasa i nasljeđivanje

Apstrakcija je postupak razdvajanja bitnog od nebitnog. U toku ovog postupka neophodno je uočiti koji podaci i veze su bitne za dati domen problema, i one bitne podatke implementirati u klasi. Postoje tri grupe apstrakcije: apstrakcija predmeta, apstrakcija procesa i sintetska apstrakcija (apstrakcija virtuelne mašine).

Skrivanje podataka se definiše na sljedeći način: sve informacije o modulu moraju biti skrivene osim onih koje su eksplicitno deklarisane kao javne. Neposredna realizacija članova klase mora biti nedostupna klijentu.

Enkapsulacija je postupak objedinjavanja stanja i ponašanja u jednu celinu. Krajnji rezultat enkapsulacije je klasa. Drugi zadatak enkapsulacije je obezbeđivanje kontrole pristupa u cilju poštovanja principa skrivanja informacija.

Modularnost se odnosi na postupak razbijanja programa na manje dijelove koji mogu autonomno funkcionisati. Modularnost se primjenjuje kako bi se omogućila višestruka upotreba softverskih komponenti.

Polimorfizam je kontekstno zavisno ponašanje. Programske kategorije koje se mogu polimorfno ponašati su: promjenljive odnosno instance klase, operatori i metode. Polimorfizam se dijeli na univerzalni i ad hok. Univerzalni polimorfizam se dijeli na parametarski i inkluzioni. Ad hok polimorfizam se deli na preklapanje i koercitivni polimorfizam.

Nasljeđivanje predstavlja mogućnost hijerarhijske organizacije klasa. Kada jedna klasa nasledi drugu ona zadržava kompletan sadržaj klase koju nasljeđuje, i taj sadržaj može redefinisati ili proširiti. Postoji nekoliko vrsta nasljeđivanja.

 

Advertisements
 
Mrzm smglsnk

Jelena Pavlović

Računarstvo i informatika

Sonja Vlahović-Nikolić, Gimnazija "Svetozar Marković" Niš

Časovi računarstva

materijali za učenike gimnazije u Vrbasu

Učimo informatiku 2

--- seniori ---

Informatika

Word, Excel, Moodle i još ...

Blog Jaka Šifra | IT Blog Srbija

Materijal za Racunarstvo i informatiku

Vežbe i testovi iz računarstva i informatike i matematike

Zorica Beguš, profesor matematike i računarstva i informatike u Šabačkoj gimnaziji

Наталија Прерадов

гимназија "20. октобар" Бачка Паланка

%d bloggers like this: