Struktura třídy, operátory, jednoduché algoritmy, junit. Programování II 2. cvičení Alena Buchalcevová



Podobné dokumenty
1. Projekt Kalkulačka

Jednotný vizuální styl: podpis v ové korespondenci.

Obrázek. Základní popis, zadání úkolu. Struktura tříd,

téma: Formuláře v MS Access

15. Projekt Kalkulačka

primární tlačítko (obvykle levé). Klepnutí se nejčastěji používá k výběru (označení) položky nebo k otevření nabídky.

Úprava tabulek v MS Word. Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T. G. Masaryka, Kostelec nad Orlicí

21. Číslicový měřicí systém se sběrnicí IEEE 488 (základní seznámení)

Evidence dat v prostředí MS Excelu Kontingenční tabulka a kontingenční graf

Pracovní listy s komponentou ICT

Algoritmizace a programování

Témata pro doktorandské studium

MSSF Benefit praktický průvodce pro žadatele v rámci Operačního programu Rozvoj lidských zdrojů

Registrace programů VIS

Záloha a obnovení Uživatelská příručka

20. Projekt Domácí mediotéka

TIP: Pro vložení konce stránky můžete použít klávesovou zkratku CTRL + Enter.

Nastavení telefonu T-Mobile MDA Touch

TRANSFORMACE. Verze 4.0

DUM 10 téma: Nástroje malování

PŘÍLOHA č. 2C PŘÍRUČKA IS KP14+ PRO OPTP - ZPRÁVA O REALIZACI

Zabezpečení Uživatelská příručka

Digitální učební materiál

TVORBA MULTIMEDIÁLNÍCH PREZENTACÍ. Mgr. Jan Straka

Podrobný postup pro vygenerování a zaslání Žádosti o podporu a příloh OPR přes Portál farmáře

Oborové číslo Hodnocení - část A Hodnocení - část B Hodnocení - část A+B

V této části manuálu bude popsán postup jak vytvářet a modifikovat stránky v publikačním systému Moris a jak plně využít všech možností systému.

vismo Edituj, co vidíš.

Uživatelská dokumentace

2N NetSpeaker. IP Audio Systém. Manuál 1.4

Cílem kapitoly je seznámit studenta se strukturou programu a jeho překladem.

ProClima 5.2. software pro návrh řízení teploty v rozvaděčích nn

ISZR Referenční agent.net

Vytvoření nebo odstranění makra Excel

Algoritmizace a programování

Soukromá střední odborná škola Frýdek-Místek, s.r.o.

MyQ samoobslužný tisk

Obsah. Obsah. Úvod... 7

Uživatelská dokumentace

Informační a komunikační technologie. 1.4 Data, informace, komprimace

Manuál Kentico CMSDesk pro KDU-ČSL

1. PROSTŘEDÍ PROGRAMU. Pás karet se záložkami (na obrázku aktivovaná karta Domů ) Hlavní okno, ve kterém se edituje aktuální snímek prezentace

Prostory jmen. #include<iostream.h> namespace RadimuvProstor { int secti(int a, int b); class Trida { private: int Atribut; public: void metoda();

Podrobný postup pro doplnění Žádosti o dotaci prostřednictvím Portálu Farmáře. 1. kolo příjmu žádostí Programu rozvoje venkova ( )

4. cvičení: Pole kruhové, rovinné, Tělesa editace těles (sjednocení, rozdíl, ), tvorba složených objektů

Cvičení 3 komplexní zpracování a klasifikace dat. Oblast Cairo

materiál č. šablony/č. sady/č. materiálu: Autor: Karel Dvořák Vzdělávací oblast předmět: Informatika Ročník, cílová skupina: 8.

IP kamerový systém - uživatelský návod k obsluze

Uživatelský manuál pro práci se stránkami OMS a MS provozované portálem Myslivost.cz. Verze 1.0

Zabezpečení. Uživatelská příručka

Autodesk Inventor 8 vysunutí

Poukázky v obálkách. MOJESODEXO.CZ - Poukázky v obálkách Uživatelská příručka MOJESODEXO.CZ. Uživatelská příručka. Strana 1 / 1. Verze aplikace: 1.4.

Komfortní datová schránka

Voděodolný tloušťkoměr MG-411. Návod k obsluze

1 - Prostředí programu WORD 2007

Google Chrome není podporován! (viz

Příručka pro zadavatele E-ZAK krok za krokem

Manuál uživatele čipové karty s certifikátem

modul Jízdy a Kniha jízd uživatelská příručka

Pinnacle VideoSpin CZ

POUŽÍVÁME TABULKY A GRAFY VE VÝUCE

EMC2399. Programové vybavení pro řízení, sběr a zpracování dat pro EMC měření spektrálním analyzátorem Aeroflex řady 2399

rozlišení obrazovky 1024 x 768 pixelů operační systém Windows 2000, Windows XP, Windows Vista 1 volný sériový port (volitelný) přístup na internet

Jak pracovat s kalkulačním programem HELUZ komín

Aplikované úlohy Solid Edge. SPŠSE a VOŠ Liberec. Radek Havlík [ÚLOHA 05 VYŘÍZNUTÍ MATERIÁLU LINEÁRNÍ A ROTACÍ]

Cvičení 3 z předmětu CAD I PARAMETRICKÉ 3D MODELOVÁNÍ

Návod na zřízení datové schránky právnické osoby nezapsané v obchodním rejstříku

Programování 1. hodina. RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015

Android Elizabeth. Verze: 1.3

Žáci mají k dispozici pracovní list. Formou kolektivní diskuze a výkladu si osvojí grafickou minimalizaci zápisu logické funkce

Magnetic Levitation Control

Používání klávesnice. Zobrazit vše. V tomto článku

Zálohování a zotavení Uživatelská příručka

Výsledky přijímacích zkoušek

Maturitní témata z předmětu Programování a databázové systémy. pro šk. rok 2012/2013

První kroky v portálu

POSTUP TVORBY DOKUMENTU základní funkce. Osnova. Vložení textu

Tekla Structures Multi-user Mode

Zebra P4T a RP4T - stručný návod k použití

STŘEDOŠKOLSKÁ ODBORNÁ ČINNOST. Chemické výpočty. Aleš Kajzar Martin Honka

C# - I/O, streamy, práce se soubory

Digitální album návod k použití

NSA310. Příručka k rychlé instalaci. Multimediální server s jedním diskem. Výchozí přihlašovací údaje. Webová adresa: nsa310 Heslo: 1234

Operace nad celými tabulkami

TECHNICKÁ DOKUMENTACE NA PC

Registr UJO. Příručka pro uživatele. Institut biostatistiky a analýz. Lékařské a Přírodovědecké fakulty Masarykovy univerzity.

3 Vývojová prostředí, základní prvky jazyka Java, konvence jazyka Java

Zkrácená uživatelská příručka systému Spisové služby (SpS) Lite

Návod na elektronické podání

Nezaměstnanost v České republice

Exkurze jaderná elektrárna Temelín (pracovní list)

Outlook manuál. BeeOnline. Rychlý kontakt:

7. Podání PVPOJ. Podání PVPOJ

Java a Caché IV: Manipulace s objekty

Zálohování a obnova Uživatelská příručka

Aktivity s GPS 3. Měření některých fyzikálních veličin

Testování webu CSTS.cz

Zadání. Založení projektu

Tlačítkový spínač s regulací svitu pro LED pásky TOL-02

EXCEL Pracovní listy

Transkript:

Struktura třídy, operátory, jednoduché algoritmy, junit 2. cvičení Alena Buchalcevová

Cíle cvičení seznámit se s rozhraním (interface) v Javě seznámit se s testováním při vývoji (makety, JUnit) naučit se implementovat rozhraní naučit se vytvářet v BlueJ jednotkové testy ujasnit si, jak komunikují instance zopakovat a ujasnit si pojmy : datový atribut pomocná proměnná formální parametr metody skutečný parametr metody naučit se při zápisu kódu metody používat příkaz if 2

Projekt Kalkulacka Z IS (materiály) si stáhněte projekt Kalkulacka Otevřete projekt Kalkulacka v BlueJ Spusťte si kalkulačku vytvořte instanci třídy Kalkulacka a zavojejte metodu show() Podívejte se na dokumentaci jednotlivých tříd projektu a zjistěte, jak jsou mezi třídy rozděleny jednotlivé činnosti. 3

Interface IKalkulator definuje rozhraní mezi grafikou kalkulačky a logikou kalkulačky Implementace Kalkulatoru, která nic neumí, slouží k otestování grafiky 4 Hlavní třída, která propojí grafiku s odpovídající implementací rozhraní Kalkulator Implementace grafického uživatelského rozhraní kalkulačky Alena Buchalcevová

Propojení grafiky a logiky část kódu třídy Kalkulacka // datove atributy instanci IKalkulator kalk; GrafikaKalkulacky gui; atribut kalk je deklarován typu IKalkulator, tj. může v něm být jakákoli instance třídy, která implementuje rozhraní IKalkulator /** * Konstruktor pro vytvoreni instance tridy Kalkulacka */ public Kalkulacka() { //Inicializujte atributy instance kalk = new MaketaKalkulator(); gui = new GrafikaKalkulacky(kalk); } Konkrétní implementace rozhraní se volí až zde v konstruktoru třídy Kalkulacka a je předána jako parametr grafice 5

Chceme vytvořit novou třídu, která implementuje rozhraní IKalkulator Vytvořte novou třídu a pojmenujte ji MujKalkulator Upravte ve zdrojovém kódu hlavičku třídy takto: public class MujKalkulator implements IKalkulator Promítne se to i do diagramu tříd 6 Alena Buchalcevová

Jak se implementuje rozhraní Třída MujKalkulator musí mít implementovány všechny metody z rozhraní IKalkulator Nejprve vytvoříme prázdnou implementaci - to znamená, že metody nebudou nic dělat budou prázdné v případě že vracejí hodnotu, budou vracet implicitní hodnotu příslušného typu Zdrojový kód musí jít přeložit. 7

public class MujKalkulator implements IKalkulator { /** * Metoda vrací hodnotu, která se má zobrazit na displeji kalkulačky. * Tato metoda se obvykle volá po zavolání metody odpovídající stisku tlačítka. * * @return hodnota k zobrazení */ Alena Buchalcevová public int gethodnotakzobrazeni() { return 0; } /** * metoda se volá při stisknutí tlačítka "C" (clear) na kalkulačce */ public void vymaz(){ } /** * metoda vrací jméno autora, např. "autor: Jan Novák" * * @return řetězec se jménem autora */ public String getautor(){ return null; } 8

Zapojení třídy MujKalkurator do třídy Kalkulacka } public Kalkulacka() { //Inicializujte atributy instance kalk = new MujKalkulator(); gui = new GrafikaKalkulacky(kalk); 9

Jednotkové testování umožňuje testovat jednotlivé třídy v našem případě chceme otestovat třídu MujKalkulator JUnit Použijeme testovací framework JUnit, který je přímo zakomponován v BlueJ Open Source nástroj pro testování tříd napsaných v Javě K dispozici na www.junit.org ve verzi 4.4 10

Vytváření testů v JUnit testovací třída je potomkem třídy junit.framework.testcase každý test je samostatná metoda výsledek se zjistí: pomocí metody assertequals porovnávají se očekávané hodnoty a skutečné hodnoty pomocí metody fail(string textchyby) se ohlásí chyba používá se v případě, že nelze použít metoda assertequals (např. při zjišťování, zda se opravdu vyskytne výjimka), 11

Testy v BlueJ Je třeba, aby v BlueJ byla zobrazena nabídka pro vytváření testů Jestliže není nastavíte ji volbou Nástroje-Nastaveni zaškrtnout 12

Vytvoření třídy s testy 13

Testovací třída název testovací třídy = název testované třídy + test testovací třída je potomkem junit.framework.testcase je vygenerován konstruktor a prázdné metody protected void setup() protected void teardown() 14

Co chceme testovat kombinace kláves hodnota na displeji 3 5 35 3 5 C 0 2 5 + 1 2 = 37 2 5 + 12 = 3 3 2 5 + 2 + 3 = 30 25 + 12 + 2 5 + + 2 5 + = 2 5 + + = 2 5 + 1 2 - = 2 5-1 2 = 2 5-1 2 - = 2 5 = = 2 5 - - 2 5 + 1 2 = = 2 5 + + 1 2 = 15 2 5 - - 1 2 = 2 5-2 + 3 =

2. cislice(3) 4. 3 1. Grafika kalkulačky Můj kalkulátor 3. gethodnotakzobrazeni() 3 16

2. cislice(5) 4. 5 1. Grafika kalkulačky Můj kalkulátor 3. gethodnotakzobrazeni() 35 17

2. vymaz() 4. 1. Grafika kalkulačky Můj kalkulátor 3. gethodnotakzobrazeni() 0 18

Vytváření testů/1 Před každým testem potřebujeme vytvořenou instanci třídy MujKalkulator, dáme si ji tedy do přípravku - metoda setup() 19

Vytváření testů/2 V lokálním menu testovací třídy zvolíte volbu Vytvořit testovací metodu Do zásobníku odkazů je automaticky vložen testovací přípravek Pojmenujeme metodu tak, aby z názvu bylo patrné co se testuje 20

Vytváření testů/3 Poté začne záznam testu Na instanci mujkalku1 spustíme postupně metody, které simulují vkládání hodnoty z grafiky a odesílání hodnot na display při zadávání čísla 35. 21

Vytváření testů/4 Analogicky pokračujeme s 5. Vkládání testu ukončíte stisknutím tlačítka Ukončit v panelu testů a test se automaticky ukončí, testovací přípravek se uklidí. Prohlédněte si vygenerovaný zdrojový kód testu, smažte vzorovou metodu testxxx(). public void test35() { mujkalku1.cislice(3); assertequals(3, mujkalku1.gethodnotakzobrazeni()); mujkalku1.cislice(5); assertequals(35, mujkalku1.gethodnotakzobrazeni()); } 22

Spuštění testu Test spustíme v lokálním menu testovací třídy, můžeme spouštět jednotlivé testovací metody nebo všechny testy. 23

Úkoly Vytvořte další testovací metody podle tabulky uvedené na slidu 15 v této prezentaci 24

Úkoly Zkuste naprogramovat metody cislice() a gethodnotakzobrazeni() zamyslete se nad tím, zda budete potřebovat nějaký datový atribut ve třídě MujKalkulator Po každém úspěšném přeložení třídy MujKalkulator spusťte všechny testy. Naprogramujte metodu vymaz() Naprogramujte metodu plus() atd... 25

26