1 / 23

proleće/leto 2009

Programski jezici. proleće/leto 2009. Šta je objekat?. Stvar koja ima jedinstveni identitet Sve je objekat ... Identitet objekta: Obeležja (atributi) objekta Mogućnosti (ponašanje) objekta. Dejan Živković. Programski jezici. 2. Šta je klasa?.

mihaly
Download Presentation

proleće/leto 2009

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. Programski jezici proleće/leto 2009

  2. Šta je objekat? Stvar koja ima jedinstveni identitet Sve je objekat ... Identitet objekta: Obeležja (atributi) objekta Mogućnosti (ponašanje) objekta Dejan Živković Programski jezici 2

  3. Šta je klasa? Klasa je opis objekata sa zajedničkim svojstvima Klasa definiše šablon za stvaranje objekata za zajedničkim svojstvima Klasa definiše obeležja i mogućnosti koje poseduju svi objekti klase Dejan Živković Programski jezici 3

  4. Šta je klasa? Analogija građevinski nacrt kuće na papiru = klasa izgrađena kuća = objekat na osnovu jednog nacrta kuće se može izgraditi više kuća = na osnovu jedne klase se može napraviti više objekata Dejan Živković Programski jezici 4

  5. Šta je klasa? U OOP se pišu klase, a objekti se ne opisuju nego se konstruišu na osnovu klasa Instanca (primerak) klase = objekat Konstruisanje objekta = instanciranje odgovarajuće klase Java programi se sastoje isključivo od klasa, pa se sve mora nalaziti unutar klasa (primer: Zdravo.java) Dejan Živković Programski jezici 5

  6. Šta je klasa? public class Kuća { private intbrojSpratova; private String boja; private String adresa; ... public void dozidajSprat(); } ... Kuća vila = new Kuća(...); Kuća mojaKuća = new Kuća(...); Kuća koliba = new Kuća(...); Vila.dozidajSprat(); Dejan Živković Programski jezici 6

  7. Šta je klasa? brojSpratova=3 brojSpratova=1 brojSpratova=2 boja= "bela" boja= "siva" boja= "plava" adresa= " ... " adresa= " ... " adresa= " ... " dozidajSprat() dozidajSprat() dozidajSprat() vila mojaKuća koliba Dejan Živković Programski jezici 7

  8. Šta je klasa? Objektne (instancne) promenljive (polja): brojSpratova, boja, adresa Objektni (instancni) metodi: dozidajSprat() Svaki napravljeni objekat ima svoje kopije objektnih promenljivih Objektni metodi se moraju pozivati uz objekat na koji se odnose Klasne (statičke) promenljive i metodi Dejan Živković Programski jezici 8

  9. Šta je nasleđivanje? • Način za formiranje novih klasa od postojećih • Nasleđivanjem se uspostavlja hijerarhijska relacija između srodnih klasa • Nova klasa proširuje postojeći klasu i nasleđuje sva obeležja i mogućnosti postojeće klase Programski jezici

  10. Šta je nasleđivanje? Kuća PoslovnaKuća StambenaKuća Zgrada Soliter Dvorac Programski jezici

  11. Šta je nasleđivanje? public class StambenaKuća extends Kuća { private intbrojStanova; ... public void okreči(); } ... StambenaKuća k1 = new StambenaKuća(...); StambenaKuća k2 = new StambenaKuća(...); Programski jezici

  12. k1 brojSpratova=5 boja= "žuta" adresa= " ... " dozidajSprat() brojStanova=20 okreči() Šta je nasleđivanje? k2 brojSpratova=10 boja= "zelena" adresa= " ... " dozidajSprat() brojStanova=50 okreči() Programski jezici

  13. Šta je nasleđivanje? • Terminologija • Bazna klasa — klasa koja se proširuje • Izvedena (proširena) klasa — nova klasa • Bazna klasa = natklasa, klasa-roditelj • Izvedena (proširena) klasa = potklasa, klasa-dete Programski jezici

  14. java.lang java.util java.io java.net java.awt java.applet Paketi • Klase su organizovane po paketima, analogno odnosu datoteka i direktorijuma u okviru fajl-sistema • Paket je kolekcija klasa koje čine srodnu celinu (namenjenih jednoj vrsti posla) • Paketi čine biblioteke klasa • Osnovni paketi: Programski jezici

  15. Paketi • Java platforma sadrži veliki broj klasa koje su grupisane u pakete Programski jezici

  16. Paketi • Paketi olakšavaju nalaženje i korišćenje klasa • Paketi sprečavaju konflikte imena klasa, jer različiti paketi mogu da sadrže klase sa istim imenom • Paketi omogućavaju kontrolu pristupa klasama Programski jezici

  17. Korišćenje paketa • Pri pisanju neke klase, mogu se jednostavno koristi samo klase iz istog paketa • Klase iz drugog paketa se mogu koristiti uz navođenje punog imena: java.util.Date v = new java.util.Date(); Programski jezici

  18. Korišćenje paketa • Deklaracija import “uvozi” pojedine klase iz nekog paketa • Navodi se pre početka teksta klase import java.util.Date; class MojaKlasa { ... Date v = new Date(); ... } Programski jezici

  19. Korišćenje paketa • Deklaracija import “uvozi” sve klase iz nekog paketa pomoću džoker-znaka * • Navodi se pre početka teksta klase import java.util.*; class MojaKlasa { ... Date v = new Date(); ... } • Paket java.lang se automatski uvozi u sve programe Programski jezici

  20. Pravljenje paketa • Svaka klasa mora da pripada nekom paketu • Ako se ništa ne navede, klasa pripada podrazumevanom (anonimnom) paketu • Deklaracija package definiše paket kome pripada neka klasa • Navodi se na samom početku teksta klase (pre deklaracije import) Programski jezici

  21. Pravljenje paketa package mojpaket; import java.util.*; class MojaKlasa { ... } • Datoteka MojaKlasa.javase mora nalaziti u direktorijumumojpaket koji se pravi u korenskom direktorijumu programa • Prevođenje klase MojaKlasa se mora obaviti iz korenskog direktorijumaprograma : “korenski direktorijum”>javac mojpaket\MojaKlasa.java Programski jezici

  22. Struktura Java programa • Java program se sastoji od jedne ili više klasa • Izvorni kod svake klase se piše u posebnoj datoteci čije je ime isto kao ime klase • Ekstenzija datoteke Java izvornog koda mora biti .java Programski jezici

  23. Struktura Java programa javac Restoran.java ... javac Račun.java java Restoran Programski jezici

More Related