170 likes | 331 Views
Programiranje I. zima 2009/10. Klase i objekti. Metod: programska jedinica koja sadrži promenljive i naredbe za obavljanje jednog specifičnog zadatka
E N D
Programiranje I zima 2009/10
Klase i objekti • Metod: programska jedinica koja sadrži promenljive i naredbe za obavljanje jednog specifičnog zadatka • Objekat: programska jedinica koja sadrži promenljive i metode za predstavljanje apstraktnih ili konkretnih entiteta iz realnosti koja nas okružuje Programiranje I
Šta je objekat? Objekat je nešto što ima jedinstven identitet Sve je objekat: student, sto, stolica, taster, krug, kredit, ispit, ... Identitet objekta: Obeležja (atributi) objekta Mogućnosti (ponašanje) objekta Dejan Živković Programski jezici 3
Šta je objekat? Obeležja (promenljive) Auto bela boja ugasi 4 vrata upali Mogućnosti (metodi) koči max brzina 200 km/s promeni brzinu Dejan Živković Programski jezici 4
Šta je objekat? Dejan Živković Programski jezici 5
Šta je klasa? Klasa objekata Klasa je opis objekata sa zajedničkim identitetom Klasa definiše obeležja i mogućnosti koje poseduju svi objekti klase Klasa definiše ,,mustru’’ kako izgledaju njeni pojedini objekti Dejan Živković Programski jezici 6
Šta je klasa? Analogija tehnički nacrt zgrade = klasa izgrađena zgrada = objekat na osnovu jednog nacrta zgrade može se izgraditi više zgrada = na osnovu jedne klase može se konstruisati više objekata Dejan Živković Programski jezici 7
Šta je klasa? Primer: class Zgrada { int brojSpratova; String boja; String adresa; . . . void okreči(...) { ... } void dozidaj(...) { ... } . . . } Dejan Živković Programski jezici 8
Šta je klasa? Tri objekta klase Zgrada: Dejan Živković Programski jezici 9
Šta je klasa? Primer: class ČlanPorodice { static String prezime; String ime; int uzrast; . . . } Dejan Živković Programski jezici 10
Šta je klasa? U OOP se pišu klase, a objekti se ne pišu nego se konstruišu na osnovu klasa Format: modifikatori class ime-klase { //telo klase ... } Modifikatori nisu obavezni (public) Dejan Živković Programski jezici 11
Šta je klasa? Terminologija instanca (primerak) klase = objekat te klase instanciranje klase = konstruisanje objekta te klase Java programi se sastoje isključivo od klasa, pa se sve mora nalaziti unutar klasa Dejan Živković Programski jezici 12
Promenljive klasnog tipa Definicijom klase uvodi se novi tip podataka Vrednosti klasnog tipa su objekti odgovarajuće klase Ime klase može se koristiti za tip promenljive u naredbi deklaracije (kao i za tip parametra i tip rezultata nekog metoda) Dejan Živković Programski jezici 13
Promenljive klasnog tipa Primer: publicclass Student { public String ime; publicint id; publicdouble test1, test2, test3; publicdouble prosek() { return (test1 + test2 + test3)/3; } } Dejan Živković Programski jezici 14
Promenljive klasnog tipa Nastavak primera: Student s; // promenljiva klasnog tipa Student . . . s = new Student(); // konstruisanje i dodela // objekta klase Student // promenljivoj s // Skraćeni oblik: // Student s = new Student(); Dejan Živković Programski jezici 15
Promenljive klasnog tipa Promenljiva klasnog tipa ne sadrži sam objekat koji joj je dodeljen, nego referencu (pokazivač) na njega s Dejan Živković Programski jezici 16
Promenljive klasnog tipa Nastavak primera: s.ime = “Pera perić”; s.test1 = 95; s.test2 = 55; s.test3 = 100; System.out.println(s.prosek()); Dejan Živković Programski jezici 17