Objektno orijentisano programiranje ve - PowerPoint PPT Presentation

1 / 49
About This Presentation
Title:

Objektno orijentisano programiranje ve

Description:

Objektno orijentisano programiranje ve be as 01 Biljana Stojanovi Literatura I. Horton, Java2 JDK 1.5, CET, Beograd, 2006 Slajdovi sa vezbi Na in ... – PowerPoint PPT presentation

Number of Views:57
Avg rating:3.0/5.0
Slides: 50
Provided by: Kori164
Category:

less

Transcript and Presenter's Notes

Title: Objektno orijentisano programiranje ve


1
Objektno orijentisano programiranjevežbe cas 01
  • Biljana Stojanovic

2
Literatura
  • I. Horton, Java2 JDK 1.5, CET, Beograd, 2006
  • Slajdovi sa vezbi

3
Nacin bodovanja
  • Aktivnost na casovima 10 bodova
  • Kolokvijumi 35 bodova
  • Prvi kolokvijum 15 bodova
  • Drugi kolokvijum 20 bodova
  • Završni ispit 55 bodova
  • Pismeni deo 30 bodova
  • Usmeni deo 25 bodova

4
Karakterisitke programskog jezika JAVA
  • Objektno-orijentisan programski jezik.
  • OO programi su lakši za razumevanje i
    jednostavnije se proširuju i održavaju.
  • Mašinski nezavisna piši jednom izvršavaj bilo
    gde.
  • Nepromenjen JAVA program može se pokrenuti na
    bilo kojoj mašini i operativnom sistemu koji
    podržava Javu.

5
Osnovne vrste programa u Javi
  • Java aplikacije
  • Java aplikacije su samostalni programi.
  • Java apleti
  • Java apleti su programi koji su umetnuti u Web
    stranu.

6
Pokretanje Java programa
  • Java program se ne izvršava direktno na racunaru.
  • Pokrece se u standardizovanom okruženju koje se
    zove Java platforma.
  • Java programi se mogu pokrenuti na širokom
    spektru operativnih sistema.

7
Java platforma
  • Sastoji se od dva elementa
  • JAVA virtuelna mašina - JVM
  • JVM je virtualni racunar koji postoji samo u
    memeriji. JVM omogucuje izvršavanje Java programa
    na razlicitim platformama.
  • JAVA application programming interface - API
  • Skup komponenti koje obezbeduju pisanje
    interaktivnih aplikacija u Javi.

8
Izvršavanje JAVA programa
  • Java kompajler prevodi Java izvorni kod u tzv.
    bajt-kod koji je binaran i isti za sve platforme.
  • Bajt-kod (Bytecode) su mašinske instrukcije za
    JVM.
  • Java interpreter tumaci bajtkod i izvršava akcije
    koje su specificirane u bajtkodu, unutar JVM.

9
Izvršavanje JAVA programa
10
Izvršavanje JAVA programa - primer
  • Java izvorni kod ima ekstenziju .java
    (ZdravoSvete.java)
  • Java kompajler javac ZdravoSvete.java
  • bytecode nosi isto ime kao izvorni fajl i ima
    ekstenziju .class
  • Java interpreter java ZdravoSvete

11
Prvi Java programZdravo svete!!!
  • public class Zdravo
  • public static void main(String args)
  • System.out.println(Zdravo, svete\n)

12
Osnovni pojmovi objektno- orijentisanog
programiranja
  • Objekat integralna celina podataka i procedura
    za rad sa njima.
  • Primer organizacija voznog parka u firmi.
  • Objekti mogu biti prevozno sredstvo (generalno
    posmatrano), ali i autobus, automobil...

13
Osnovni pojmovi objektno- orijentisanog
programiranja
  • OOP programska paradigma zasnovana na skupu
    objekata koji dejstvuju medusobno. Glavne obrade
    se zasnivaju na manipulisanju objektima.

14
Osnovni pojmovi objektno- orijentisanog
programiranja
  • Metod funkcija koja je deo objekta i kojom se
    realizuje poruka upucena objektu.
  • Primeri
  • Startuj motor
  • Zaustavi auto
  • Ubrzaj...
  • Poruka skup informacija koji se šalje objektu.
    Sastoji se iz adrese (objekta koji prima poruku)
    i saopštenja (šta treba da se uradi).

15
Osnovni pojmovi objektno- orijentisanog
programiranja
  • Klasa opis (specifikacija) jedne vrste
    objekata. Npr. prevozno sredstvo je klasa.
  • Instanca (primerak) klase konkretan objekat
    klase.
  • Dodavanjem novih svojstava postojecoj klasi
    dobija se potklasa. Svi primerci potklase su
    istovrmemeno i primerci natklase. Npr. automobil
    ima sve karakteristike klase prevozno sredstvo,
    ali ima i svoje dodatne karakteristike npr. 4
    tocka...

16
Osnovni pojmovi objektno- orijentisanog
programiranja
  • Nasledivanje mehanizam za kreiranje novih klasa
    iz postojecih. Na taj nacin se uspostavljaju
    relacije izmedu jedne i više drugih klasa.
  • Polimorfizam mogucnost primene istog metoda na
    primerke razlicitih klasa.

17
Eclipse
  • Razvojni alat za pokretanje Java programa.
  • Svi razvojni alati podržavaju tzv. IDE
    (Integrated Development Environment) za brz
    razvoj Java programa.
  • Editovanje, kompajliranje, debagovanje,
    online-pomoc su integrisani u graficko korisnicko
    okruženje.

18
Eclipse tutorial
  • Eclipse može da se pokrece na bilo kojoj
    platformi koja ima podršku za JVM.
  • Pre Eclipse instalacije neophodno je instalirati
    odgoravajucu verziju JDK-a.
  • Eclipse se pokrece dvoklikom na ikonu eclipse.exe
    u odgovarajucem folderu ili dvoklikom na
    odgovarajucu precicu na radnoj površini.
  • Najpre se pojavljuje prozor Workspace Launcher
    koji nudi izbor direktorijuma u kome ce se
    raditi.
  • Potom se otvara glavni prozor (Eclipse UI) sa
    inicijalno otvorenim pozdravnim prozorom.

19
Eclipse tutorial - izbor perspektive
  • Perspektiva predstavlja inicijalni skup i
    raspored komponenti u prozoru. Npr. Java
    perspektiva se koristi za editovanje Java
    izvornog koda, dok Debug perspektiva omogucava
    pregled debagovanja programa. Moguce je prelaziti
    iz jedne u drugu perspektivu.
  • Za kreiranje Java programa opcijom Window ? Open
    Perspective ? Java iz glavnog menija otvara se
    Java perspektiva.

20
Eclipse tutorial- kreiranje projekta
  • Projekat se kreira izborom opcije File ? New ?
    Project cime se prikazuje Project wizard.
  • Selektovati Java project i kliknuti Next cime se
    otvara New Java Project wizard.
  • U polje Project name uneti ime projekta.
  • Cekirati opciju Create project in workspace.
  • Klik na dugme Finish kreiranje projekta.

21
Eclipse tutorial- kreiranje paketa i klase
  • Kreiranje paketa u postojecem projektu File ?
    New ? Package.
  • Kreiranje klase u postojecem paketu File ? New ?
    Class, cime se otvara New Java Class wizard.
  • U polje Name unosi se ime klase (pocinje velikim
    slovom) bez ekstenzije .java.
  • U delu Modifiers moguce je cekirati neku od
    opcija svaka predstavlja neku vrstu
    modifikatora klase.
  • U polju Superclass navodi se ime klase koja se
    nasleduje.

22
Eclipse tutorial- kreiranje paketa i klase
  • U polju Interfaces navode se imena interfejsa
    koje klasa implementira.
  • Poslednji deo se odnosi na izbor metoda koje su
    sastavni deo klase
  • - public static void main(String args)
  • - konstruktori natklase
  • - nasledjeni apstraktni metodi

23
Eclipse tutorial- kompilacija i pokretanje
programa
  • Izvorni Java kod se dinamicki kompajlira za vreme
    kucanja. Npr. ako se ne otkuca za kraj naredbe,
    editor prikazuje crvenu krivudavu liniju koja
    ukazuje na grešku.
  • Pokretanje Run ? Run As ? Java Application iz
    glavnog menija ili kliknuti na odgovarajucu ikonu
    u toolbar-u koja se koristi za pokretanje.
  • Izlaz je prikazan u panelu Console u dnu prozora.

24
Eclipse tutorial- debagovanje
  • Eclipse debugger omogucuje postavljanje
    breakpoint-a i izvršavanje programa liniju po
    liniju.
  • Obicno se breakpoint-i postavljaju u onim
    delovima za koje postoji mogucnost da sadrže
    grešku. Nema svrhe da se traga za greškom liniju
    po liniju kroz delove programa za koje se
    pouzdano zna da dobro rade.

25
Eclipse tutorial- debagovanje
  • Breakpoint je zaustavna zastavica (znak)
    postavljena na liniju izvornog koda koja govori
    debageru da se zaustavi kada na nju naide.
  • Debager izvršava svaku liniju dok ne dode do
    breakpoint-a, tako da je moguce tragati kroz deo
    programa gde je breakpoint postavljen.

26
Eclipse tutorial- debagovanje
  • Razliciti nacini postavljanja breakpoint-a
  • - dvostrukim klikom na levu marginu linije na
    koju se postavlja breakpoint. Pojavice se plavi
    kružic u levoj margini.
  • - desnim klikom u podrucje leve margine
    pojavljuje se meni iz koga se bira opcija Toggle
    Breakpoint.
  • - u meniju Run izabrati opciju Toggle
    Breakpoint.
  • Uklanjanje breakpoint-a - dvoklikom na levu
    marginu, ili izborom opcije Disable Breakpoint iz
    odgovarajuceg menija.
  • Kada se napusti projekat zadržavaju se
    postavljeni breakpoint-i.

27
Eclipse tutorial- debagovanje
  • Primer startovanja debagera
  • Postaviti breakpoint na prvu naredbu metoda
    main().
  • Izabrati opciju Debug As ? Java Application.
    Pojavice se Confirm Perspective Switch dijalog za
    potvrdu prelaska u Debug perspektivu.

28
Eclipse tutorial- debagovanje
  • Kontrola izvršavanja programa
  • Program se zaustavlja na prvoj liniji main()
    metoda. Ova linija, koja se zove tekuca tacka
    izvršavanja (current execution point), obojena je
    zeleno i oznacava sledecu liniju koda koja ce
    biti izvršena od strane debagera.

29
Eclipse tutorial- debagovanje
  • Kada je aktivan Debugging mode, u Debug prozoru
    vidljive su ikonice sa komandama za debagovanje.
  • Iste komande nalaze se i u meniju Run
  • Resume nastavlja izvršavanje pauziranog
    programa
  • Suspend privremeno zaustavlja izvršavanje
    programa
  • Terminate završava tekucu sesiju debagovanja.
  • Step Into izvršava jednu naredbu ili ulazi u
    metod
  • Step Over izvršava jednu naredbu. Ako naredba
    sadrži poziv metoda, ceo metod se izvršava bez
    detaljnog prelaska kroz njega.

30
Eclipse tutorial- debagovanje
  • Step Return izvršava sve naredbe tekuceg
    metoda i vraca se u onaj deo gde je pozvan metod.
  • Run to Line izvršava program, pocevši od
    tekuce tacke izvršavanja, zaustavlja se i
    postavlja izvršnu tacku na liniju koda koja
    sadrži kursor ili na breakpoint.

31
Eclipse tutorial- debagovanje
  • Vrednosti promenljivih se ispisuju u posebnom
    panelu Variables. Dvostrukim klikom na
    odgovarajucu promenljivu otvara se Set Value
    dijaloški prozor gde je moguce zadati novu
    vrednost promenljive.
  • Nakon završetka debagovanja, može se preci u Java
    perspektivu.

32
Struktura Java programa
  • Java program se uvek sastoji iz jedne ili više
    klasa.
  • Svaka klasa se smešta u poseban fajl koji ima
    isto ime kao i klasa.
  • Klase se grupišu u skupove pakete. Svaki paket
    cuva se u zasebnom direktorijumu.

33
Standardni Java paketi
  • Najbitniji standardni paketi
  • java.lang klase iz ovog paketa su uvek
    dostupne, tj. automatski se ukljucuju u program.
  • java.io klase za ulazno/izlazne operacije
  • java.util
  • java.awt graficke komponente
  • javax.swing fleksibilnije graficke komponente

34
Upotreba Java paketa
  • Upotreba klasa iz nekog paketa omogucena je
    import deklaracijom koja se navodi na pocetku
    programa.
  • import java.awt.
  • import java.util.Vector

35
Metod main()
  • Svaka Java aplikacija sadrži klasu koja definiše
    metod main(). Aplikacija se pokrece izvršavanjem
    ove klase.
  • Metod main ima predefinisanu formu
  • public static void main(String args)

36
ZdravoSvete.java
  • public class ZdravoSvete
  • public static void main(String args)
  • System.out.println(Zdravo, svete\n)

37
ZdravoSvete.java
  • public globalno dostupna klasa i metod
  • static metod je dostupan i kada ne postoje
    objekti klase
  • void metod nema povratnu vrednost
  • String args niz argumenata komandne linije.
    Argumenti su objekti klase String. Klasa String
    je definisana u paketu java.lang.
  • System standardna klasa koja omogucava rad sa
    standardnim ulazom/izlazom. Nalazi se u paketu
    java.lang.

38
ZdravoSvete.java
  • out objekat klase PrintSteam, koji je clan
    klase System i predstavlja standardni izlazni
    tok.
  • println() metod klase PrintStream koji ispisuje
    string zadat izmedu dvostrukih navodnika.

39
Karakterski skup u Javi
  • Java je bazirana na UNICODE standardu koji svaki
    karakter predstavlja pomocu 2 bajta, tj. 16
    bitova.
  • Java je CASE-SENSITIVE, tj. pravi se razlika
    izmedu malih i velikih slova.

40
Tipovi podataka u Javi
  • Primitivni tip
  • Referentni (objektni) tip

41
Primitivni tip
  • Aritmeticki i logicki
  • Aritmeticki celi i realni (floating point)
  • Celi byte(8), short(16), int(32), long(64) i
    char(16). Svi sem char su signed. U Javi ne
    postoji unsigned.
  • Realni float(32), double(64) (standard IEEE754).
  • Logicki tip boolean(1). Ima dve vrednosti true
    i false.

42
Referentni tip podatka
  • Objekat celina koju cine promenljive i metodi
    definisani u klasi kojoj objekat pripada. Tip
    objekta je, dakle, odreden klasom.
  • Specijalnu vrstu objekata cine stringovi.
  • String-objekat ne sadrži NULL na kraju kao što je
    to bio slucaj u C-u.

43
Elementarne konstrukcije jezika Java
  • Elementi jezika koje kompajler izdvaja tokom
    prevodenja programa kao nedeljive celine
    (tokene).
  • Identifikatori
  • Literali
  • Separatori
  • Operatori
  • Kljucne reci
  • Komentari
  • Beline

44
Identifikatori
  • Identifikator je niz UNICODE karaktera
    proizvoljne dužine koji mora pocinjati slovom, _
    ili . Ostali karakteri mogu biti slova, cifre, _
    ili . Ne smeju se koristiti kljucne reci.

45
Literali
  • Eksplicitne vrednosti koje se javljaju u programu
    su literali.
  • Literal može biti konstantna vrednost primitivnog
    tipa ili String objekat.

46
Celobrojni literali
  • Celobrojni literali
  • Dekadni
  • Oktalni
  • Heksadekadni
  • Dekadni ne pocinju cifrom 0.
  • Oktalni pocinju cifrom 0.
  • Heksadekadni pocinju znacima 0x ili 0X.
  • Literal tipa long ima sufiks l ili L.

47
Realni, logicki, znakovni i String literali
  • Realni literali su po podrazumevano tipa double.
    Može i da stoji sufiks D ili d.
  • Realni literal je tipa float ako sadrži sufiks F
    ili f.
  • Logicki literali true i false.
  • Znakovni literal - konstantna vrednost tipa char,
    tj. neoznacena 16-bitni vrednost.
  • Primeri a, \n, \u113, \\
  • String literal sadrži znake izmedu navodnika.

48
Separatori, operatori, komentari
  • Separatori ()
  • Nema operatora , kao u C-u. Takode, nema
    operatora za pristup memoriji, što znaci da u
    Javi nema pokazivaca.
  • Komentari
  • C stil /... /
  • Jednolinijski komentari //...
  • Dokumentacioni komentari / ... /

49
Napomene!
  • Ne postoji automatska konverzija boolean tipa u
    tip int i obrnuto!
  • if(a) neispravno
  • If(a ! 0) ispravno
  • Naredbe za kontrolu toka su kao u C-u (if, else,
    switch, for, while, do, break, continue). Nema
    naredbe goto.
Write a Comment
User Comments (0)
About PowerShow.com