1 / 22

zima 2009/10

Programiranje I. zima 2009/10. Klase i objekti. Metod: programska jedinica koja sadrži promenljive i naredbe za obavljanje jednog specifičnog zadatka

urbain
Download Presentation

zima 2009/10

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programiranje I zima 2009/10

  2. 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

  3. Š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 Programiranje I

  4. Š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 Programiranje I

  5. Šta je objekat? Programiranje I

  6. Š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 Programiranje I

  7. Š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 Programiranje I

  8. Šta je klasa? Primer: class Zgrada { int brojSpratova; String boja; String adresa; . . . void okreči(...) { ... } void dozidaj(...) { ... } . . . } Programiranje I

  9. Šta je klasa? Tri objekta klase Zgrada: Programiranje I

  10. Šta je klasa? Primer: class ČlanPorodice { static String prezime; String ime; int uzrast; . . . } Programiranje I

  11. Š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) Programiranje I

  12. Š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 Programiranje I

  13. 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) Programiranje I

  14. Promenljive klasnog tipa Primer: publicclass Student { public String ime; publicdouble test1, test2, test3; publicdouble prosek() { return (test1 + test2 + test3)/3; } } Programiranje I

  15. 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(); Programiranje I

  16. Promenljive klasnog tipa Promenljiva klasnog tipa ne sadrži sam objekat koji joj je dodeljen, nego referencu (pokazivač) na njega s Programiranje I

  17. Promenljive klasnog tipa Korišćenje objekta: notacija sa tačkom Nastavak primera: s.ime = “Pera Perić”; s.test1 = 95; s.test2 = 55; s.test3 = 100; System.out.println(s.prosek()); Programiranje I

  18. Promenljive klasnog tipa Nastavak primera: Programiranje I

  19. Konstruisanje objekata Format: new ime-klase(lista-argumenata) Konstruktor: metod za inicijalizaciju konstruisanog objekta Ime konstruktora mora biti isto kao ime klase Konstruktor nema tip rezultata, čak ni void Programiranje I

  20. Konstruisanje objekata Primer: publicclass KockaZaIgru { publicint broj; // broj koji je pao public KockaZaIgru() { // konstruktor bez parametara baci(); // poziv metoda baci() } public KockaZaIgru(int n) { // konstruktor sa parametrom broj = n; } publicvoid baci() { // ,,bacanje‘’ kocke broj = (int)(Math.random()*6) + 1; } } Programiranje I

  21. Uklanjanje objekata Šta uraditi sa objektom koji nije više potreban u programu? Ručno uklanjanje nepotrebnih objekata je podložno greškama Nenamerno brisanje objekata (“viseći pokazivači”) Zaboravljeno brisanje objekata (“curenje memorije”) Automatsko uklanjanje objekata u Javi Programiranje I

  22. Klase i objekti Primer: broj bacanja dve kocke dok se ne pokažu isti brojevi na obe kocke Programiranje I

More Related