1 / 51

4IT101 Základy programování

4IT101 Základy programování. Ing. Jarmila Pavlíčková Konzultační hodiny: úterý 14:30 – 16:00 JM 369 středa 12:30 - 14:00 NB 424 Mail: pavjar@vse.cz. Obsah kurzu. Základy objektového přístupu realizované v programovacím v jazyce Java. Základní znalosti o informatice.

naiara
Download Presentation

4IT101 Základy programování

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. 4IT101 Základy programování

  2. Ing. Jarmila Pavlíčková • Konzultační hodiny: • úterý 14:30 – 16:00 JM 369 • středa 12:30 - 14:00 NB 424 • Mail: • pavjar@vse.cz

  3. Obsah kurzu • Základy objektového přístupu realizované v programovacím v jazyce Java. • Základní znalosti o informatice. • Základní znalosti o programovacích jazycích. • Metodika výuky - metodika object-first rozšířenou o prvky test-first a seznámení s návrhovými vzory (design patternsfirst)

  4. Podmínky ukončení

  5. Bodování

  6. Podmínky pro ukončení • Body lze ztratit za neúčast na cvičeních (více než 3 neomluvené absence). • Lze získat prémiové body za nadstandardní řešení úkolu. • Při zjištěném pokusu o podvod (odevzdání cizí práce, cizího programu) bude práce ohodnocena -5 body. • Opakovat lze pouze závěrečný test.

  7. Literatura • Pavlíčková, Pavlíček • Úvod do Javy • Skriptum VŠE • v pdf k dispozici na java.vse.cz

  8. Literatura • Gála, Pour, Šedivá: Podniková informatika 2., přepracované a aktualizované vydání. Grada 2009 ISBN 978-80-247-2615-1 • Rudolf Pecinovský: Myslíme objektově v jazyku Java, Grada ISBN 978-80-247-2653-3 • Rudolf Pecinovský: OOP Naučte se myslet a programovat objektově, ComputerPress, 2010, ISBN 978-80-251-2126-9

  9. Zdroje informací ke kurzu • ISIS • Sylabus • Prezentace k přednáškám • Odevzdávání domácích úkolů a semestrálních prací • Testy • java.vse.cz • Podrobnosti k hodnocení studentů, literatuře, instalacím potřebného software… • Informace od jednotlivých cvičících • www.oracle.com/technetwork/java/index.html • oficiální stránky Javy • www.java.cz

  10. Java

  11. Java • Java je objektově orientovaný programovací jazyk, ale také platforma • Aplikace napsaná v Javě, může běžet na každé platformě, pro níž je vyvinut virtuální stroj

  12. http://www.tiobe.com/index.php/content/paperinfo/tpci/index.htmlhttp://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

  13. Java ME Platformy Javy – výčet • Java SE (Standard Edition) • Desktopové aplikace • Applety • Java ME (Micro Edition) • Především v mobilních telefonech • Zatím převážně hry, ale množí se aplikace spolupracující se servery • Midlety • Java EE (Enterprise Edition) • Nadstavba nad Java SE • Velké distribuované aplikace • Podporuje vícevrstvou architekturu • Servlety, JSP, EJB Java EE Java SE

  14. Soubor se zdrojovým kódem, má koncovku java. Soubor s bytekódem, má koncovku class. Překladač javac Pro všechny platformy stejné Pro všechny platformy stejné Pro všechny platformy stejné Java Virtual Maschine Pro každou platformu jiná JVM

  15. Verze Javy • 1996 verze 1.0 • 1997 verze 1.1 (JDBC) • 1998 verze 1.2 (Collections) • 2000 verze 1.3 (HotSpot) • 2002 verze 1.4 • 2004 verze 5.0 (Generika, významné úpravy) • 2006 verze 6.0 Červenec 2011 Verze 7.0

  16. Zkratky..a zkratky..a zkratky.. • Java SE • Java EE • Java ME • JDK • JRE EJB JSP JDBC AWT JDO RMI JNDI JAX

  17. Vlastnosti Javy • Jazyk je jednoduchý, objektově orientovaný a povědomý • Je robusní a zabezpečená • Je nezávislá na platformě a přenositelná • Je interpretovaná, vícevláknová a dynamická

  18. Vývojová prostředí • JDK 7.0 • BlueJ3.0.8 (www.bluej.org) • Další profesionální vývojové nástroje • NetBeans (www.netbeans.org) • Eclipse (www.eclipse.org) • IntelliJ Idea (www.jetbrains.com/idea)

  19. Objekty

  20. Obecné objektové vlastnosti – jeden pohled • používání abstrakce • definování tříd objektů • existence objektů (instancí) • zapouzdření a ukrývání implementace • komunikace objektů (volání metod) • polymorfismus • dědičnost

  21. Objekty Třídy Rozhraní Instance Datové atributy Metody Konstruktory Balíčky Testy Návrhové vzory Deklarace Inicializace Identifikátor Formální parametr metody Skutečný parametr metody Pomocná proměnná Základní pojmy

  22. Základní principy OOP • Všechno je objekt (opravdu všechno včetně vlastností, dějů, událostí, …) • Objektově orientovaný program jev nějakém programovacím jazyce zapsaný popis tříd, jejich instancí (objektů) a zpráv, které si mezi sebou tyto objekty posílají

  23. Objekty • Abstrakce z reality • Spojení dat (údajů, proměnných, datových atributů) a činností, které je možné s těmito daty provádět (metod)

  24. Třída • Třída je obecný popis, ve kterém se deklarují (určí) data, která budou popisovat stav objektu, a metody, které popisují činnosti, jaké je možné s objekty provádět.

  25. Pes jméno rasa štěkej žer hoňKočku Třída obecný popis v programu Dášeňka foxteriér Alík neurčena Skutečné objekty v realitě Rek Německý ovčák Asta kólie Instance v paměti počítače

  26. Třída Pes datové atributy instance, každá vytvořená instance je bude mít naplněny vlastními daty Pes jméno rasa štěkej žer hoňKočku metody instance, pro každou vytvořenou instanci je budeme moci spustit, postup bude u všech instancí stejný, ale budou pracovat s datovými atributy konkrétní instance

  27. Třídy pro kreslení tvarů (první cvičení) Ctverec velikost xPozice yPozice barva kresli vymaz zmenBarvu posunVpravo …… Kruh prumer xPozice yPozice barva kresli vymaz zmenBarvu posunVpravo ……

  28. Volání metod (posílání zpráv) • Analogie s mobilním telefonem • Mohu poslat SMS jen tomu, na koho mám číslo • Mohu posílat různé zprávy • Reakce různých lidí na stejnou zprávu mohou být různé

  29. Vytvoření instance • Instance se vytvářejí pomocí specifické metody, která se nazývá konstruktor • Při spouštění konstruktoru si musíme uložit odkaz na vznikající instanci

  30. Odkazy v BlueJ

  31. Alík neurčena Seznam Pepových psů Azor Jezevčík Rek Německý ovčák Seznam psů, které venčí Jana Bety Kokršpaněl

  32. Java – jak vytvořit třídu (zapsat kód)

  33. Třída public class Jmeno { Datové atributy Statické proměnné Statický inicializační blok Statické metody Konstruktory Metody Vnitřní třídy Statické vnitřní třídy }

  34. Datové atributy instance • Datové atributy: • vyjadřují základní charakteristiky instance třídy, • uchovávají informace mezi jednotlivými voláními metod. • Každý datový atribut musí mít určený typ a jméno (identifikátor) Určení jména a typu se označuje jako deklarace. • Nastavení počáteční hodnoty se nazývá inicializace.

  35. Datové atributy - deklarace a inicializace modifikátory typ identifikátor = hodnota; public class Kruh { private int prumer; private int xPozice; private int yPozice; private String barva; ………zde následují další části deklarace třídy…………… } prumer = 30; xPozice = 20; yPozice = 60; barva = "modra";

  36. Identifikátor • Je tvořen posloupností písmen, číslic a podtržítka, začíná písmenem. • Java rozlišuje malá a velká písmena: cislo a Cislo jsou dva různé identifikátory. • Používá se pro pojmenování: • tříd, • datových atributů, • metod, • lokálních proměnných, • parametrů metod, • ..... • Identifikátor by měl vystihovat obsah toho, co pojmenovává. Pro pojmenování metod se obvykle používají slovesa (s předmětem), pro ostatní podstatná jména (včetně přívlastku). • Identifikátor nesmí obsahovat klíčové slovo Javy

  37. Pravidla pro používání malých a velkých písmen v identifikátorech (jménech) • Velké písmeno na začátku, všechna počáteční písmena nového slova velká • třídy • rozhraní • Malé písmeno na začátku, všechna počáteční písmena nového slova velká • proměnné třídy a instance • pomocné proměnné metod • formální parametry metod • jména metod • Všechna písmena velká, jednotlivá slova oddělena _ • pojmenované konstanty

  38. Klíčová slova

  39. Metody instance • Metody: • představují dovednosti, činnosti, které může objekt provádět, • umožňují rozdělit kód do jednotlivých částí, • Metody jsou deklarovány ve třídě. • Metoda se skládá z • hlavičky (podpisu) metody • těla metody, které je tvořeno pomocí • příkazů • deklarací lokálních proměnných.

  40. odkaz na vytvořenou instanci (identifikátor) Volání metody instance mujPes.stekej(); StringRasaMehoPsa = mujPes.getRasa();

  41. Deklarace metody Jméno metody Typ návratové hodnoty Parametry metody Modifikátor přístupu publicStringgetRasa ( ) { return rasa; } Klíčové slovo pro vrácení výsledku a ukončení metody Vracená hodnota

  42. Deklarace metody Jméno metody public voidzmenVelikost(intnovyPrumer) { vymaz(); prumer = novyPrumer; kresli(); } Typ void určuje, že metoda nic nevrací formální parametr metody

  43. Hlavička (podpis) metody • hlavička má několik částí • modifikátor přístupu • další (nepovinné) modifikátory • typ návratové hodnoty • jméno (identifikátor) • kulaté závorky (mohou zde být formální parametry metody) • vyhazované výjimky(nepovinná část)

  44. Formální parametry metody • slouží k předání vstupních hodnot do metody • každý parametr je v hlavičce metody deklarován podobně jako datové atributy typem a jménem • není možné (ani smysluplné) uvádět modifikátor přístupu (parametr platí pouze v metodě) • není možné v hlavičce přiřadit parametru implicitní hodnotu public void pricti( int hodnota = 4) {....... tato část nepřípustná

  45. Obsah metody - příkazy • volání metody • přiřazení • sekvence (posloupnost, blok příkazů) • selekce (rozhodování, větvení) • iterace (cyklus, opakování) • příkaz skoku z cyklu • příkaz return • vyvolání a obsluha výjimek

  46. Obsah metody - lokální proměnná • pro uložení mezivýsledku • po ukončení činnosti metody je zrušena • deklarace a inicializace pomocné proměnné se od inicializace datového atributu liší tímto: • neuvádějí se modifikátory přístupu • proměnné nejsou implicitně inicializovány, první hodnotu musí nastavit programátor

  47. Jak vytvořit instanci • V Javě se instance vytvářejí pomocí volání konstruktoru za klíčovým slovem new. • Konstruktor je speciální metoda: • jmenuje se vždy stejně jako třída, • v deklaraci se neuvádí návratový typ, • lze použít modifikátory přístupu (public, protected, private, „přátelský“), • pokud není uveden v deklaraci třídy, vytvoří se automaticky prázdný a veřejný (public) • konstruktory se mohou přetěžovat,

  48. Použití konstruktoru Kruh kruh1 = new Kruh(); určení typu proměnné spuštění konstruktoru, v závorce mohou být hodnoty jednotlivých parametrů jméno proměnné (identifikátor) operátor new pro vytvoření instance přiřazovací příkaz

  49. Deklarace konstruktoru public class Kruh { private int prumer; private int xPozice; private int yPozice; private String barva; /* * Vytvoreni noveho kruhu na defaultni pozici (20,60) s defaultni barvou (modra) */ public Kruh() { prumer = 30; xPozice = 20; yPozice = 60; barva = "modra"; kresli(); }

  50. Odkaz na tuto instanci (this) public class Kruh { private int prumer; private int xPozice; private int yPozice; private String barva; /* * Vytvoreni noveho kruhu na defaultni pozici (20,60) s defaultni barvou (modra) */ public Kruh() { prumer = 30; xPozice = 20; yPozice = 60; barva = "modra"; kresli(); } this.prumer = 30; this.xPozice = 20; this.zPozice = 60; this.barva = "modra"; this.kresli();

More Related