Objektno orijentirano programiranje (OOP) Predavanje 5.1
Document Details
Uploaded by MaturePoltergeist
Faculty of Civil Engineering, University of Zagreb
Tags
Summary
Ovo predavanje predstavlja uvod u objektno orijentirano programiranje (OOP). Ključni koncepti su objasnjeeni, a uključeni su primjeri i definicije pojmova kao što su enkapsulacija, nasljeđivanje, apstrakcija i polimorfizam.
Full Transcript
5. OBJEKTNO ORJENTIRANO PROGRAMIRANJE 5.1. Uvod u objektno orjentirano programiranje Objektno orijentirano programiranje ili OOP Objektno orijentirano programiranje ili OOP (od engl. Object-Oriented Programming) je termin koji se koristi za opisivanje pristupa programiran...
5. OBJEKTNO ORJENTIRANO PROGRAMIRANJE 5.1. Uvod u objektno orjentirano programiranje Objektno orijentirano programiranje ili OOP Objektno orijentirano programiranje ili OOP (od engl. Object-Oriented Programming) je termin koji se koristi za opisivanje pristupa programiranju temeljenom na objektima i klasama. OOP paradigma naglasak stavlja na same objekte koji se sastoje i od podataka (članova ili atributa) i funkcija koje se nazivaju metode. Objektno orijentirana paradigma omogućuje nam organiziranje programa povezivanjem atributa i ponašanja u individualne objekte. 5.1.Uvod u objektno orjentirano programiranje 2 Objektno orijentirano programiranje ili OOP Glavni elementi objektno orijentirane paradigme nazivaju se objekti. Objekt se sastoji od: atributi - opisuju stanje instanciranog objekta metoda - opisuju ponašanje tog objekta. Atributi mogu biti varijable, strukture, instance drugih klasa, svojstva itd. Primjer atributa je boja auta, a primjer metode je vozi(). Neki od programskih jezika koji koriste OOP su Java, C++, C#, Python, PHP... 5.1.Uvod u objektno orjentirano programiranje 3 Enkapsulacija Enkapsulacija opisuje ideju povezivanja podataka i metoda koje obrađuju podatke unutar jedne jedinice tj. klase. Funkcionalnost se pruža javnim metodama, a unutarnje stanje dostupno je samo unutar klase i ne može mu se pristupiti izvana. Opisani koncept se naziva i načelo crne kutije. Takav oblik „skrivanja informacija” najćešce se ostvaruje putem tzv. gettera (koji dohvaćaju atribute) i settera (koji ih mijenjaju). Ovisno o atributu možemo odlućiti želimo li mogućnost pristupa izvana. 5.1.Uvod u objektno orjentirano programiranje 4 Nasljeđivanje Nasljeđivanje je načelo sposobnosti klase da preuzme značajke iz neke druge klase. Klasa iz koje proizlazi nova klasa naziva se klasa „roditelj” (engl. parent), ili bazna (engl. base) klasa, a nova klasa „dijete” (engl. child) ili derivirana (engl. derived) klasa. Klasa djeteta nasljeđuje sve atribute i metode roditelja, a dodatno može imati vlastite atribute i metode. Smisao nasljeđivanja je proširivanje funkcionalnosti bazne klase (a time i programa) s novom funkcionalnosti te u povećanju ponovne iskoristivosti programskog koda. Nasljeđivanje omogućuje hijerarhijsku organizaciju klasa. 5.1.Uvod u objektno orjentirano programiranje 5 Apstrakcija Apstrakcija je modeliranje objekta tako da se koriste samo potrebne komponente stvarnog objekta. Apstrakcija se ostvaruje korištenjem apstraktnih klasa i metoda. Apstraktne klase se ne mogu instancirati. One služe kao bazne klase u nasljeđivanju gdje moramo implementirati apstraktne metode i svojstva. Apstraktna klasa definira jednu ili više metoda koju sve primjene te apstrakcije moraju imati. 5.1.Uvod u objektno orjentirano programiranje 6 Polimorfizam Polimorfizam je mogućnost upravljanja različitim objektima preko istog sučelja. Svaki objekt može pružiti svoju neovisnu implementaciju tog sučelja. Python je višeparadigmatski programski jezik, što znaći da podržava različite pristupe i stilove programiranja. Python podržava i OOP paradigmu. 5.1.Uvod u objektno orjentirano programiranje 7 SAŽETAK Objektno orijentirano programiranje ili OOP (od engl. Object-Oriented Programming) je termin koji se koristi za opisivanje pristupa programiranju temeljenom na objektima i klasama. Glavni elementi objektno orijentirane paradigme nazivaju se objekti. Objekt se sastoji od atributa i metoda. Atributi opisuju stanje instanciranog objekta Metoda opisuju ponašanje tog objekta. Načela objektno orijentiranog dizajna su enkapsulacija, nasljeđivanje, apstrakcija, polimorfizam. 5.1.Uvod u objektno orjentirano programiranje 8 PONAVLJANJE 1. Navedi 4 programska jezika koji koriste OOP. 2. Navedi dva primjera atributa i 2 primjera metoda. 3. Objasni načelo nasljeđivanja. 5.1.Uvod u objektno orjentirano programiranje 9