1 / 21

Programski jezici

Programski jezici. proleće/leto 2009. Nabrojivi tipovi. Primer: predstaviti četiri godišnja doba proleće, leto, jesen i zimu? Kodiranje 1,2,3,4 ili posebna klasa za četiri godišnja doba? Nabolje rešenje: nabrojivi tip (engl. enumerated type, enum):

tawana
Download Presentation

Programski jezici

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. Nabrojivi tipovi Primer: predstaviti četiri godišnja doba proleće, leto, jesen i zimu? Kodiranje 1,2,3,4 ili posebna klasa za četiri godišnja doba? Nabolje rešenje: nabrojivi tip (engl. enumerated type, enum): enum GodišnjeDoba {PROLEĆE, LETO, JESEN, ZIMA} Tip GodišnjeDobakoji se sastoji od tačno četiri vrednosti PROLEĆE, LETO, JESEN, ZIMA Programski jezici

  3. Nabrojivi tipovi Format: enumime-tipa {lista-konstanti} Po konvenciji (kao za obične konstante), konstante nabrojivog tipa se pišu velikim slovima i sa _ Definicija nabrojivog tipa ne može stajati unutar metoda, već mora biti ugnježđena unutar neke klase ili biti u posebnom fajlu Programski jezici

  4. Nabrojivi tipovi Nabrojivi tip je, tehnički, specijalna klasa koja ima tačno onoliki broj objekata koliki je broj konstanti u definiciji (ne mogu se konstruisati novi) Nabrojivi tip je novi tip u programu u može se koristiti svuda gde se mogu koristiti uobičajeni tipovi (definicija promenljive, tip parametra i tip rezultata metoda) Programski jezici

  5. Nabrojivi tipovi Primer korišćenja: enum GodišnjeDoba {PROLEĆE, LETO, JESEN, ZIMA} ... GodišnjeDoba modnaSezona; ... modnaSezona = GodišnjeDoba.ZIMA; ... if (modnaSezona == GodišnjeDoba.LETO) System.out.println("Krpice za leto."); else System.out.println(modnaSezona); Programski jezici

  6. Nabrojivi tipovi Nabrojivi tip jeklasa koja se ne može istancirati Konstante nabrojivog tipa su zapravo public final static polja klase Ova polja sadrže reference na odgovarajuće vrednosti (objekte) nabrojivog tipa Nabrojivi tip može imati dodatne članove (polja, metode, konstruktore), koji se navode iza liste konstanti Programski jezici

  7. Nabrojivi tipovi public enum GodišnjeDoba { PROLEĆE('P'), LETO('L'), JESEN('J'), ZIMA('Z'); private char skraćenica; // polje // Konstruktor private GodišnjeDoba(char skraćenica) { this.skraćenica = skraćenica; } public char getSkraćenica() { // geter metod return skraćenica; } } Programski jezici

  8. Nabrojivi tipovi Svi nabrojivi tipovi nasleđuju klasu Enum Mogu koristiti nasleđene metode: toString() – string reprezentacija konstanti values() – niz vrednosti ordinal() – redni broj vrednosti ... Programski jezici

  9. Nabrojivi tipovi Primer korišćenja: public enum Dan {PONEDELJAK, UTORAK, SREDA, ČETVRTAK, PETAK, SUBOTA, NEDELJA}; ... for (Dan d : Dan.values()) { System.out.print(d); System.out.print(" je dan pod rednim brojem "); System.out.println(d.ordinal()); } Programski jezici

  10. Grafičko programiranje Grafički programi Koriste grafičke mogućnosti: boje, fontove, geometrijske oblike, slike, ... Komuniciraju sa korisnikom preko grafičkog korisničkog interfejsa koji se sastoji od grafičkih komponenti: prozor, meni, dugme, oznaka, tekstualno polje, ... Programski jezici

  11. Grafičko programiranje Programiranje grafičkih programa se razlikuje od programiranja konzolnih programa, jer je način njihovog izvršavanja različit Grafički program se ne izvršavasinhrono (od početka do kraja, jedna naredba iza druge), već asinhrono Grafički program se sastoji od naredbi koje se izvršavaju kao reakcija na korisnikove aktivnosti nad komponentama grafičkog interfejsa programa Programski jezici

  12. Grafičko programiranje Klasični pristup: programski se određuje kada korisnik unosi ulazne podatke i kada dobija izlazne podatke Grafički pristup: korisnik određuje kada unosi ulazne podatke i kada dobija izlazne podatke (izbor iz menija, klik na dugme, ...) Korisnikove aktivnosti sa fizičkim uređajima miša i tastature nad grafičkim elementima programa su drugi oblik ulaznih podataka (događaji) Programski jezici

  13. Grafičko programiranje Programiranje grafičkih programa je programiranje vođeno događajima (engl. event-driven programming) Grafički program dobija događaje kao ulaz Deo grafičkog programa koji reaguje na određeni događaj se naziva rukovalac događaja (engl. event listener, event handler) Programski jezici

  14. Grafičko programiranje Windows grafički programi koriste nezavisne resurse (kontrole) za definisanje izgleda korisničkog interfejsa Java grafički programi svoj korisnički interfejs grade integrisano sa ostalim naredbama Java grafički programi koriste klase iz dve standardne biblioteke za rad sa grafičkim komponentama Programski jezici

  15. Grafičko programiranje Biblioteka AWT (Abstract Window Toolkit) do Java verzije 1.1 u paketu java.awt Biblioteka Swing od Java verzije 1.2 u paketu javax.swing AWT/Swing okruženje je deo JFC (Java Foundation Classes) na kome se bazira grafičko programiranje u Javi Programski jezici

  16. Grafičko programiranje Biblioteka AWT podržava minimalni skup komponenti grafičkog interfejsa koje poseduju sve platforme koje podržavaju Javu Oslanja se na odgovarajući operativni sistem Izgleda “podjednako osrednje” na svim platformama Klase u paketima java.awt.* Programski jezici

  17. Grafičko programiranje Biblioteka Swing je napisana “od nule” Obezbeđuje veći broj složenijih grafičkih komponenti od biblioteke AWT Ne oslanja se na operativni sistem Jednako izgleda i radi na svim platformama Klase u paketima javax.swing.* Nazivi klasa počinju sa Jxxx Programski jezici

  18. Grafičko programiranje Primer: klasa JOptionPane za grafičke dijaloge Dva statička metoda: showInputDialog(...) showMessageDialog(...) 4 parametra: prozor kome pripada dijalog, poruka koja se prikazuje, naslov dijaloga, vrsta dijaloga Programski jezici Dejan Živković 18

  19. Grafičko programiranje Tri okvira za dijalog grafičkog programa Zdravo: Programski jezici Dejan Živković 19

  20. Grafičko programiranje public class ZdravoGUI { public static void main(String[] args) { String ime = JOptionPane.showInputDialog( null, "Kako se zovete?", "Grafički ulaz", JOptionPane.QUESTION_MESSAGE); String godine = JOptionPane.showInputDialog( null, "Koliko imate godina?", "Grafički ulaz", JOptionPane.QUESTION_MESSAGE); int god = Integer.parseInt(godine); Programski jezici Dejan Živković 20

  21. Grafičko programiranje String poruka = "Zdravo " + ime + "!\n"; poruka += god + " su najlepše godine."; JOptionPane.showMessageDialog( null, poruka, "Grafički izlaz", JOptionPane.INFORMATION_MESSAGE); System.exit(0); } } Programski jezici Dejan Živković 21

More Related