+ All Categories
Home > Documents > 4IT101 Základy programování

4IT101 Základy programování

Date post: 22-Feb-2016
Category:
Upload: naiara
View: 78 times
Download: 0 times
Share this document with a friend
Description:
4IT101 Základy programování. Ing. Jarmila Pavlíčková Konzultační hodiny: úterý 14:30 – 16:00 JM 369 středa12:30 - 14:00 NB 424 Mail: [email protected]. Obsah kurzu. Základy objektového přístupu realizované v programovacím v jazyce Java. Základní znalosti o informatice. - PowerPoint PPT Presentation
51
4IT101 Základy programování
Transcript
Page 1: 4IT101  Základy programování

4IT101 Základy

programování

Page 2: 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:– [email protected]

Page 3: 4IT101  Základy programování

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 patterns first)

Page 4: 4IT101  Základy programování

Podmínky ukončeníZnámka počet bodů1 90 – 100 2 75 – 893 60 – 74 4+ 50 – 59 4 59 a méně

Page 5: 4IT101  Základy programování

BodováníBody Povinné

minimum

Domácí úkoly, testy, semestrální úloha – závisí na cvičícím

40 5

Semestrální úloha - Adventura

30 10

Závěrečný test 30 15Celkem 100

Page 6: 4IT101  Základy programování

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.

Page 7: 4IT101  Základy programování

Literatura• Pavlíčková,

Pavlíček• Úvod do Javy• Skriptum VŠE• v pdf k dispozici

na java.vse.cz

Page 8: 4IT101  Základy programování

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ě, Computer Press, 2010, ISBN 978-80-251-2126-9

Page 9: 4IT101  Základy programování

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

Page 10: 4IT101  Základy programování

Java

Page 11: 4IT101  Základy programování

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

Page 12: 4IT101  Základy programování

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

Page 13: 4IT101  Základy programování

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 EEJava SE

Java ME

Page 14: 4IT101  Základy programování

Soubor se zdrojovým kódem, má koncovku java. Překladač

javacSoubor s bytekódem, má koncovku class.

Java Virtual

Maschine

Pro všechny platformy stejné Pro

všechny platformy stejné

Pro všechny platformy stejné

Pro každou platformu jiná JVM

Page 15: 4IT101  Základy programování

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

Page 16: 4IT101  Základy programování

Zkratky.. a zkratky.. a zkratky..

• Java SE• Java EE• Java ME• JDK• JRE

Page 17: 4IT101  Základy programování

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á

Page 18: 4IT101  Základy programování

Vývojová prostředí• JDK 7.0• BlueJ 3.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)

Page 19: 4IT101  Základy programování

Objekty

Page 20: 4IT101  Základy programování

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

Page 21: 4IT101  Základy programování

Základní pojmy• 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á

Page 22: 4IT101  Základy programování

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í

Page 23: 4IT101  Základy programování

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)

Page 24: 4IT101  Základy programování

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.

Page 25: 4IT101  Základy programování

Pes

jménorasa

štěkejžer

hoňKočku

Dášeňkafoxteriér

RekNěmecký ovčák Asta

kólie

Alíkneurčena

Skutečné objekty v

realitěInstance v paměti počítače

Třída obecný popis v

programu

Page 26: 4IT101  Základy programování

Třída PesPes

jménorasa

štěkejžer

hoňKočku

datové atributy instance, každá

vytvořená instance je bude mít naplněny

vlastními daty

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

Page 27: 4IT101  Základy programování

Třídy pro kreslení tvarů (první cvičení)

Ctverec

velikostxPoziceyPozicebarva

kreslivymazzmenBarvuposunVpravo……

Kruh

prumerxPoziceyPozicebarva

kreslivymazzmenBarvuposunVpravo……

Page 28: 4IT101  Základy programování

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é

Page 29: 4IT101  Základy programování

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

Page 30: 4IT101  Základy programování

Odkazy v BlueJ

Page 31: 4IT101  Základy programování

pepuvAlikpepuvAzormilanuvRekmojeBety

Alíkneurčena

AzorJezevčík

RekNěmecký ovčák

BetyKokršpaněl

azoralik

Sezn

am

Pepo

vých

psů

Se

znam

psů

, kt

eré

venč

í Jan

a

Page 32: 4IT101  Základy programování

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

Page 33: 4IT101  Základy programování

public class Jmeno {Datové atributyStatické proměnnéStatický inicializační blokStatické metodyKonstruktoryMetodyVnitřní třídyStatické vnitřní třídy

}

Třída

Page 34: 4IT101  Základy programování

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.

Page 35: 4IT101  Základy programování

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";

Page 36: 4IT101  Základy programování

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

Page 37: 4IT101  Základy programování

Pravidla pro používání malých a velkých písmen v identifikátorech

(jménech)1. Velké písmeno na začátku, všechna počáteční

písmena nového slova velká– třídy– rozhraní

2. 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

3. Všechna písmena velká, jednotlivá slova oddělena _– pojmenované konstanty

Page 38: 4IT101  Základy programování

Klíčová slovaabstract continue for new switchassert default if package synchronizedboolean do goto private thisbreak double implement

sprotected throw

byte else import public throwscase enum instanceof return transientcatch extends int short trychar final interface static voidclass finally long strictfp volatileconst float native super while

Page 39: 4IT101  Základy programování

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.

Page 40: 4IT101  Základy programování

mujPes.stekej();String RasaMehoPsa = mujPes.getRasa();

Volání metody instance

odkaz na vytvořenou

instanci (identifikátor)

Page 41: 4IT101  Základy programování

Deklarace metody

public String getRasa ( ) {

return rasa;}

Typ návratové hodnoty

Jméno metody

Parametry metody

Klíčové slovo pro vrácení

výsledku a ukončení metody

Vracená hodnota

Modifikátor přístupu

Page 42: 4IT101  Základy programování

Deklarace metody

public void zmenVelikost (int novyPrumer){ vymaz(); prumer = novyPrumer; kresli();}

Typ void určuje, že

metoda nic nevrací

Jméno metody

formální parametr metody

Page 43: 4IT101  Základy programování

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)

Page 44: 4IT101  Základy programování

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á

Page 45: 4IT101  Základy programování

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

Page 46: 4IT101  Základy programování

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

Page 47: 4IT101  Základy programování

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,

Page 48: 4IT101  Základy programování

Použití konstruktoru

Kruh kruh1 = new Kruh ();

určení typu proměnné

jméno proměnné

(identifikátor) operátor new pro vytvořen

í instance

spuštění konstruktoru, v závorce mohou

být hodnoty jednotlivých parametrů

přiřazovací příkaz

Page 49: 4IT101  Základy programování

Deklarace konstruktorupublic 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();

}

Page 50: 4IT101  Základy programování

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();

Page 51: 4IT101  Základy programování

Použité zdroje

• Pavlíčková, Pavlíček : Úvod do Javy• Pecinovský: Myslíme objektově v

jazyku Java

Java a Duke jsou registrované známky firmy Oracle


Recommended