Struktura javového programu

  • Každý netriviální javový program sestává z více tříd (class)

  • Třídy jsou členěny do balíků (packages)

  • U běžné "desktopové" aplikace představuje vždy jedna (evt. více) tříd vstupní bod do programu — je to třída/y obsahující metodu main.

Spuštění a běh javového programu

  • Spuštění programu se zahajuje vstupem do metody main.

  • Běh programu spočívá ve vytváření objektů a interakci s nimi, tj. volání jejich metod.

  • Běh končí, jakmile jsou provedeny všechny příkazy aktivované metodou main.

Vývojové prostředí pro přednášky a cvičení

  • Pro demostraci na přednáškách v kurzu PB162 budeme převážně používat jednoduché, pro výuku určené, vývojové prostředí BlueJ.

  • Pro výuku ve cvičeních kurzu PB162 budeme již používat profesionální vývojové prostředí NetBeans.

Prostředí BlueJ

  • BlueJ je pro všechny platformy (Win, Linux, Mac OS X…) zdarma dostupné na http://bluej.org .

  • BlueJ je lokalizované pro češtinu vč. základního manuálu.

  • Pro BlueJ existuje i jednoduchý animátor běhu programů — vizualizuje spouštění a chod programů.

  • Toto prostředí je již předinstalované v síti FI.

Stažení BlueJ

  • BlueJ je již v síti FI instalováno, pro vlastní potřebu jej lze zdarma stáhnout z http://bluej.org .

  • Doporučujeme aktuální verzi — v současnosti (září 2015) BlueJ 3.1.1

  • Předtím je třeba mít korektně nainstalováno samotné vývojové prostředí Java.

Stažení BlueJ

Spuštění BlueJ

Po úspěšné instalaci na: Windows:: Najděte v menu Start systému Windows složku BlueJ a zde spouštěcí odkaz BlueJ s ikonou ptáka. Linux:: pomocí bluej(odkaz je v /usr/bin) — tím lze prostředí spustit.

Otevření hotového programu (projektu) v BlueJ

  • Každý javový program vytvořený v BlueJ představuje jeden projekt. Toto je specificky vlastnost BlueJ, ne Javy jako takové.

  • Práce s hotovým programem v BlueJ tedy znamená otevřít projekt → menu Projekt/Otevřít projekt. Otevření hotového projektu v BlueJ

Spuštění hotového programu

  • Každý běžný javový program spouštíme (nejen v BlueJ) aktivací metody main.

  • V BlueJ to znamená kliknout pravým tlačítkem myši na ikoně příslušné třídy a vybrat void main(String[] args). image:../images/bluej_exec_hello.png

  • Při spuštění uvádíme parametry, které metoda main dostane. Jelikož zatím žádné specifikovat nepotřebujeme, ponecháme dialog, jak je a stiskneme Enter (klikneme OK). image:../images/bluej_exec_params.png

  • Výsledek spuštění programu se projeví v tzv. okně terminálu (konzole) BlueJ. image:../images/bluej_console.png

Interaktivní vytvoření objektu (instance)

  • Objektový přístup znamená především to, že program za běhu vytváří objekty a volá jejich metody. To lze v BlueJ snadno realizovat.

  • V demostračním programu Hello máme jednu třídu (Hello), od níž lze vytvořit objekt (instanci) a na ní volat metody.

  • Zdrojový kód třídy Hello (dostupný poklepáním na její ikonu) prozradí, které metody zde máme k dispozici.

image:../images/hello_edit.png

  • Dále postupujeme:

  • Pravým tlačítkem klikneme na ikonu Hello a vybereme new Hello().

  • do dialogu uvedeme název odkazu na vytvářený objekt typu Hello - můžeme ponechat hello1.

image:../images/hello_new.png

  • Specifikace jména odkazu na novou instanci Hello

  • Vytvořený objekt (instance třídy Hello) je k dispozici jako červená krabička vlevo dole.

Práce s objektem (instancí)

  • Vytvořený objekt (instance hello1 třídy Hello) je k dispozici jako červená krabička vlevo dole. Vytvořená instance třídy Hello

  • S instancí je nyní možné komunikovat/interagovat - tj. volat metody.

  • Jelikož v úvahu (viz zdrojový kód Hello) připadá jen metoda void go(), zavoláme právě ji:

  • Metoda proběhne s výsledkem podobným, jako když jsme program spouštěli metodou main.

  • Výsledek spuštění go() Metoda main totiž realizovala postupně stejné kroky, jako jsme teď provedli interaktivně (krok po kroku) sami.

Úprava hotového programu v BlueJ

Nejjednodušší úpravou programu je změna těla některé z metod, v našem případě již známé metody go().

  • Editor zdrojového kódu třídy Hello aktivujeme pravým tlačítkem - položkou Otevřít v editoru.

  • Kód metody go() změníme přepsáním hlášky "Hello, world" na "Ahoj!".

  • Po kliknutí na tlačítko Přeložit by se mělo objevit: Metoda go() upravena a třída úspěšně přeložena.

  • Třídu Hello s upravenou metodou spustíme jako v předchozím - např. pravým tlačítkem a metodou main.

  • Objeví se: Výsledek běhu upravené třídy Hello