16. února 2015, Brno Připravil: David Procházka

Rozměr: px
Začít zobrazení ze stránky:

Download "16. února 2015, Brno Připravil: David Procházka"

Transkript

1 16. února 2015, Brno Připravil: David Procházka Skrývání implementace Základy objektového návrhu

2 Připomenutí návrhu použitelných tříd Strana 2 / 17 Obsah přednášky 1 Připomenutí návrhu použitelných tříd 2 Jak skrýt implementaci třídy 3 Příklady na modifikátory viditelnosti 4 Shrnutí

3 Připomenutí návrhu použitelných tříd Strana 3 / 17 Black-box Třídy (resp. jejich instance) by měly fungovat jako černé skříňky. Pro použití třídy by nemělo být nutné chápat, jak pracuje. Mělo by stačit podívat se, jaké operace mohu s třídou provádět. Zbytek by měl být skryt.

4 Jak skrýt implementaci třídy Strana 4 / 17 Obsah přednášky 1 Připomenutí návrhu použitelných tříd 2 Jak skrýt implementaci třídy 3 Příklady na modifikátory viditelnosti 4 Shrnutí

5 Jak skrýt implementaci třídy Strana 5 / 17 Modifikátory viditelnosti Jakýkoliv atribut nebo metoda může mít před svým názvem klíčové slovo public, protected nebo private. Pokud je atribut označen public, může ho kdokoli číst a modifikovat. Říkáme, že je veřejný. Pokud je označen private, lze přistupovat jen z metod objektů dané třídy a označujeme jej soukromý. (Protected prozatím ignorujeme.) Rozhraní Skupinu metod (výjimečně atributů), které jsou veřejné označujeme jako rozhraní interface.

6 Jak skrýt implementaci třídy Strana 6 / 17 Platnost modifikátorů Modifikátory viditelnosti mají význam pouze při komunikaci více objektů různých tříd. Metody objektů stejné třídy mají vždy přístup ke všem atributům dané třídy. Bez ohledu na modifikátory viditelnosti.

7 Příklady na modifikátory viditelnosti Strana 7 / 17 Obsah přednášky 1 Připomenutí návrhu použitelných tříd 2 Jak skrýt implementaci třídy 3 Příklady na modifikátory viditelnosti 4 Shrnutí

8 Příklady na modifikátory viditelnosti Strana 8 / 17 Příklad Hrdina Příklad Hrdina Mějme hru, kde jsou hrdinové. Na počátku má hrdina sílu i obratnost rovnu n. Pokud bojuje, zvýší se mu po určité době síla. Síla však souvisí s obratností. Pokud se zvýší síla, musí se snížit obratnost. Jak docílíte toho, aby vždy, když se zvýší síla, zmenšila se obratnost?

9 Příklady na modifikátory viditelnosti Strana 9 / 17 Příklad Hrdina: model - sila : int - obratnost : int Hrdina + Hrdina(pocatecniSilaAObratnost : int) + zvysurovensily() : void + getsila() : int + getobratnost() : int

10 Příklady na modifikátory viditelnosti Strana 10 / 17 Příklad Hrdina: kód 1 class Hrdina { 2 private : 3 int m_ sila ; 4 int m_obratnost ; 5 public : 6 Hrdina ( int pocatecnisilaaobratnost ){ 7 m_sila = pocatecnisilaaobratnost ; 8 m_obratnost = pocatecnisilaaobratnost ; 9 } void zvysurovensily (){ 12 m_ sila ++; 13 m_ obratnost - -; 14 } 15...

11 Příklady na modifikátory viditelnosti Strana 11 / 17 Příklad Hrdina: použití 1 int main (){ 2 Hrdina * artus = new Hrdina ( 10); 3 // vypise vzdy 10 4 cout << " Sila : " << artus - > getsila () << endl ; 5 cout << " Obr.: " << artus - > getobratnost () << en 6 7 artus -> zvysurovensily (); 8 // vypise 11 a 9 9 cout << " Sila : " << artus - > getsila () << endl ; 10 cout << " Obr.: " << artus - > getobratnost () << en delete artus ; 13 return 0; 14 }

12 Příklady na modifikátory viditelnosti Strana 12 / 17 Příklad Student Příklad Student Mějme univerzitní informační systém. Ten eviduje studenty. Každý student má evidováno jméno, semestr studia, studijní průměr a součet vyplacených stipendií. Všechny tyto vlastnosti budou zadány konstruktorem mimo vyplacených stipendií. Ta budou 0. Implementuje pro objekt následující metody: Musí existovat metoda, která umožní vypsat na obrazovku částku, která byla doposud studentovi vyplacena a také částku, která má být studentovi vyplacena jako stipendium v aktuálním období. Stipendium se spočítá následujícím způsobem: (1000 * průměr) + (semestr studia * 100). Dále musí existovat metoda, která umožní přičíst studentovi aktuální výši stipendia k jeho vyplaceným stipendiím.

13 Příklady na modifikátory viditelnosti Strana 13 / 17 Příklad Student: první analýza Student - jmeno : string - semestr : int - studijniprumer : float - vyplacenostipendii : float + Student(jmeno:string, semestr:int, prumer:float) + vypisstipendia() : void + prictistipendia() : void... Zamysleme se: Nebude se v některých metodách něco opakovat?

14 Příklady na modifikátory viditelnosti Strana 14 / 17 Příklad Student: hlubší analýza Student - jmeno : string - semestr : int - studijniprumer : float - vyplacenostipendii : float + Student(jmeno:string, semestr:int, prumer:float) + vypisstipendia() : void + prictistipendia() : void - spocitejaktualnistipendium() : float... To je lepší! Jedna metoda jeden úkol.

15 Shrnutí Strana 15 / 17 Obsah přednášky 1 Připomenutí návrhu použitelných tříd 2 Jak skrýt implementaci třídy 3 Příklady na modifikátory viditelnosti 4 Shrnutí

16 Shrnutí Strana 16 / 17 Shrnutí Atributy, které charakterizují stav objektu by měly být skryté. Lze k nim přistupovat pomocí metod ty tvoří rozhraní pro přístup. Stejně tak by měly být skryté metody, které není smysluplné volat z venku. Cílem je, aby programátor nemusel znát strukturu objektu, ale jen operace, které smí provádět. Aplikace těchto principů umožňuje snažší spolupráci, bezpečnost, modulárnost a znovupoužitelnost.

17 Shrnutí Strana 17 / 17 Příklady k procvičení Příklad Autopůjčovna Pro informační systém autopůjčovny vytvořte třídu Auto. Tato třída má následující vlastnosti: najeto km, cena za půjčení na den a kolik celkem auto vydělalo. Všechny tyto vlastnosti vynut te v konstruktoru. Vytvořte metodu, které předáte počet dní na které chcete auto půjčit a ona vrátí cenu za půjčení. Dále vytvořte metodu, která umožní přidat záznam o zapůjčení auta na předaný počet dní (tj. metoda přičte příslušnou částku půjčovného do atributu se součtem vydělaných peněz a zaznamená počet ujetých km). Dále vytvořte metodu, která umožní vypsat na obrazovku veškeré informace o autě. Zařid te aby se vždy když se zvýší počet najetých km o km snížila cena za zapůjčení auta o 10 %.

16. února 2015, Brno Připravil: David Procházka. Konstruktory a destruktory

16. února 2015, Brno Připravil: David Procházka. Konstruktory a destruktory 16. února 2015, Brno Připravil: David Procházka Konstruktory a destruktory Základy objektového návrhu Jak navrhovat použitelné třídy Strana 2 / 26 Obsah přednášky 1 Jak navrhovat použitelné třídy 2 Jak

Více

20. Projekt Domácí mediotéka

20. Projekt Domácí mediotéka Projekt Domácí mediotéka strana 211 20. Projekt Domácí mediotéka 20.1. Základní popis, zadání úkolu V projektu Domácí mediotéka (Dome) se jednoduchým způsobem evidují CD a videa. Projekt je velmi jednoduchý

Více

Programování v C++ 3, 3. cvičení

Programování v C++ 3, 3. cvičení Programování v C++ 3, 3. cvičení úvod do objektově orientovaného programování 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled Dokončení spojového

Více

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

Prostory jmen. #include<iostream.h> namespace RadimuvProstor { int secti(int a, int b); class Trida { private: int Atribut; public: void metoda(); Prostory jmen. Prostor jmen je oblast platnosti identifikátorů. Představme si situaci, kdy budeme chtít mít v jednom programu stejné identifikátory (názvy tříd, proměnných, metod, funkcí atd...). Nelze

Více

Dědičnost. Časová náročnost lekce: 3 hodiny Datum ukončení a splnění lekce: 23.března

Dědičnost. Časová náročnost lekce: 3 hodiny Datum ukončení a splnění lekce: 23.března Dědičnost Cíle lekce Cílem lekce je naučit se pracovat a využívat dědičnosti při návrhu a tvorbě programů. Lekce je zaměřena hlavně na jednoduchou dědičnost. Bude rovněž vysvětlen rozdíl mezi dědičností

Více

BlueJ a základy OOP. Programování II 1. cvičení Alena Buchalcevová

BlueJ a základy OOP. Programování II 1. cvičení Alena Buchalcevová BlueJ a základy OOP Programování II 1. cvičení Alena Buchalcevová Konzultační hodiny v ISu doc. Alena Buchalcevová Po 14:00-15:00 NAR 220 2 Cíle 1. cvičení pochopit pojmy: třída instance konstruktor metoda

Více

Obchodní řetězec Dokumentace k návrhu databázového systému

Obchodní řetězec Dokumentace k návrhu databázového systému Mendelova univerzita v Brně, Provozně ekonomická fakulta Obchodní řetězec Dokumentace k návrhu databázového systému 1. Úvod Cílem této práce je seznámit čtenáře s návrhem databázového systému Obchodní

Více

Ministerstvo pro místní rozvoj. podprogram 117 513

Ministerstvo pro místní rozvoj. podprogram 117 513 Pokyny pro vyplnění elektronické žádosti podprogram 117 513 Podpora výstavby technické infrastruktury Elektronická žádost je umístěna na internetové adrese http://www3.mmr.cz/zad a lze na ni vstoupit i

Více

Programování v C++ 1, 6. cvičení

Programování v C++ 1, 6. cvičení Programování v C++ 1, 6. cvičení dědičnost, polymorfismus 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 3 Shrnutí minule procvičené

Více

Windows 10 (6. třída)

Windows 10 (6. třída) Windows 10 (6. třída) Okno spuštěné aplikace: takto vypadá okno aplikace Malování - panel nástrojů Rychlý přístup Titulkový pruh se jménem souboru (Bez názvu) tlačka pro minimalizaci, obnovení z maxima

Více

Mobilní aplikace pro ios

Mobilní aplikace pro ios Předběžná zadávací dokumentace k projektu: Mobilní aplikace pro ios Kontaktní osoba: Jan Makovec, makovec@ckstudio.cz Obsah Cíl projektu... 2 Obrazovky aplikace... 2 Základní prostředí aplikace... 2 Intro...

Více

Principy objektově orientovaného programování

Principy objektově orientovaného programování Principy objektově orientovaného programování Třídy a objekty doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz C E T

Více

IB111 Programování a algoritmizace. Objektově orientované programování (OOP)

IB111 Programování a algoritmizace. Objektově orientované programování (OOP) IB111 Programování a algoritmizace Objektově orientované programování (OOP) OP a OOP Objekt Kombinuje data a funkce a poskytuje určité rozhraní. OP = objektové programování Vše musí být objekty Např. Smalltalk,

Více

24. listopadu 2013, Brno Připravil: David Procházka

24. listopadu 2013, Brno Připravil: David Procházka 24. listopadu 2013, Brno Připravil: David Procházka Dědičnost Základy objektového návrhu Časná a pozdní vazba Strana 2 / 22 Obsah přednášky 1 Časná a pozdní vazba 2 Rozhraní pro dědičnost 3 Konstruktory

Více

Operační program Rybářství 2007-2013

Operační program Rybářství 2007-2013 OP Rybářství 2007-2013 Operační program Rybářství 2007-2013 Elektronické podání Žádosti o dotaci opatření 3.1. a) (6.kolo OP Rybářství) Oddělení metodiky OP Rybářství Ing. Antonín VAVREČKA, Ing. Miroslav

Více

Objekty a třídy. Procedurální a objektově orientované programování. V této kapitole se naučíte: Procedurální a objektově orientované programování

Objekty a třídy. Procedurální a objektově orientované programování. V této kapitole se naučíte: Procedurální a objektově orientované programování Objekty a třídy Objektově orientované programování (OOP) je určitý koncepční přístup návrhu programů a jazyk C++ rozšiřuje jazyk C o vlastnosti, které jeho použití usnadňují. Mezi nejdůležitější vlastnosti

Více

Programování v C++ 1, 5. cvičení

Programování v C++ 1, 5. cvičení Programování v C++ 1, 5. cvičení konstruktory, nevirtuální dědění 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 3 Shrnutí minule procvičené

Více

Klientský formát POHLEDÁVKY platný od 23. 11. 2012

Klientský formát POHLEDÁVKY platný od 23. 11. 2012 Klientský formát POHLEDÁVKY platný od 23. 11. 2012 1/5 1 Úvod 1.1 Účel dokumentu Účelem tohoto dokumentu je popis formátu POHLEDAVKA a požadovaných validací při IMPORTu dat ve vazbě na návazné účetní SW

Více

Třídy a objekty -příklady

Třídy a objekty -příklady Třídy a objekty -příklady doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Příklad 1 Kvadratická rovnice static void

Více

PREPROCESOR POKRAČOVÁNÍ

PREPROCESOR POKRAČOVÁNÍ PREPROCESOR POKRAČOVÁNÍ Chybová hlášení V C# podobně jako v C++ existuje direktiva #error, která způsobí vypsání chybového hlášení překladačem a zastavení překladu. jazyk C# navíc nabízí direktivu #warning,

Více

Generické programování

Generické programování Generické programování Od C# verze 2.0 = vytváření kódu s obecným datovým typem Příklad generická metoda, zamění dva parametry: static void Swap(ref T p1, ref T p2) T temp; temp = p1; p1 = p2; p2 =

Více

Zapouzdření. Tomáš Pitner, upravil Marek Šabo

Zapouzdření. Tomáš Pitner, upravil Marek Šabo Zapouzdření Tomáš Pitner, upravil Marek Šabo Co je zapouzdření Naprosto zásadní vlastnost objektového přístupu, možná nejzásadnější Jde o spojení dat a práce s nimi do jednoho celku - objektu Data jsou

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

Standardní algoritmy v C++.

Standardní algoritmy v C++. Standardní algoritmy v C++. Standardní algoritmy jsou součástí STL. Jedná se o spoustu užitečných šablon funkcí, které za nás naprogramoval někdo jiný. Na nás je jen, abychom je používali. Také si ukážeme

Více

Chování konstruktorů a destruktorů při dědění

Chování konstruktorů a destruktorů při dědění Dědičnost V objektově orientovaném programování je dědičnost způsob, jak vytvořit novou třídu použitím již existujících definic jiných tříd. Takto vytvořené třídy přebírají vlastnosti a metody svého předka

Více

Programování v C++ 2, 4. cvičení

Programování v C++ 2, 4. cvičení Programování v C++ 2, 4. cvičení statické atributy a metody, konstruktory 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled Přístupová práva

Více

Šablony, kontejnery a iterátory

Šablony, kontejnery a iterátory 7. října 2010, Brno Připravil: David Procházka Šablony, kontejnery a iterátory Programovací jazyk C++ Šablony Strana 2 / 21 Šablona funkce/metody Šablona je obecný popis (třídy, funkce) bez toho, že by

Více

Více o konstruktorech a destruktorech

Více o konstruktorech a destruktorech Více o konstruktorech a destruktorech Více o konstruktorech a o přiřazení... inicializovat objekt lze i pomocí jiného objektu lze provést přiřazení mezi objekty v původním C nebylo možné provést přiřazení

Více

Příklady a návody. Databázová vrstva

Příklady a návody. Databázová vrstva Příklady a návody Databázová vrstva Konceptuální datový model Popis dat.struktur pomocí entit, atributů, vazeb a integritních omezení ER-model nebo OO-diagramy (class diagram) ER model zdůrazňuje vztahy

Více

Projekty pro výuku programování v jazyce Java

Projekty pro výuku programování v jazyce Java JIHOČESKÁ UNIVERZITA V ČESKÝCH BUDĚJOVICÍCH Pedagogická fakulta Katedra informatiky Akademický rok: 2006/2007 TEZE BAKALÁŘSKÉ PRÁCE Projekty pro výuku programování v jazyce Java Jméno: František Přinosil

Více

Abstraktní třída a rozhraní

Abstraktní třída a rozhraní Abstraktní třída a rozhraní Někdy se může stát, zejména při psaní v hierarchické struktuře hodně nadřazených tříd, že tušíme, že bude ve zděděných třídách vhodné použít nějakou metodu. Tuto metodu ještě

Více

Operační systém teoreticky

Operační systém teoreticky Přednášky o výpočetní technice Operační systém teoreticky Adam Dominec 2010 Rozvržení Operační systém Uživatelské účty Správa RAM Plánování procesů Knihovny Okna Správa zařízení Rozvržení Operační systém

Více

PŘÍRUČKA K POUŽÍVÁNÍ APLIKACE HELPDESK

PŘÍRUČKA K POUŽÍVÁNÍ APLIKACE HELPDESK PŘÍRUČKA K POUŽÍVÁNÍ APLIKACE HELPDESK Autor: Josef Fröhlich Verze dokumentu: 1.1 Datum vzniku: 4.4.2006 Datum poslední úpravy: 10.4.2006 Liberecká IS, a.s.;jablonecká 41; 460 01 Liberec V; IČ: 25450131;

Více

M A N A G E M E N T. Akad. rok 2009/2010, Letní semestr MANAGEMENT - VŽ 1

M A N A G E M E N T. Akad. rok 2009/2010, Letní semestr MANAGEMENT - VŽ 1 M A N A G E M E N T 5 MANAGEMENT - VŽ 1 V Ý Z N A M S T R A T E G I C K É H O M A N A G E M E N T U MANAGEMENT - VŽ 2 STRATEGICKÝ MANAGEMENT Představuje souhrn aktivit jako je : 1. výzkum tržních podmínek,

Více

Programování v Javě I. Leden 2008

Programování v Javě I. Leden 2008 Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Leden 2008 Radek Kočí Seminář Java Programování v Javě (1) 1/ 45 Téma přednášky Datové typy Deklarace třídy Modifikátory

Více

Šablony, kontejnery a iterátory

Šablony, kontejnery a iterátory 11. března 2015, Brno Připravil: David Procházka Šablony, kontejnery a iterátory Programovací jazyk C++ Šablony Strana 2 / 31 Obsah přednášky 1 Šablony 2 Abstraktní datové struktury 3 Iterátory 4 Array

Více

ISÚI Informační systém územní identifikace Proč? Co? Kde? Kdo? Jak? Kdy?

ISÚI Informační systém územní identifikace Proč? Co? Kde? Kdo? Jak? Kdy? ISÚI Informační systém územní identifikace Proč? Co? Kde? Kdo? Jak? Kdy? Jiří Formánek Český úřad zeměměřický a katastrální (ČÚZK) Projekt RÚIAN Projekt Vybudování Registru územní identifikace, adres a

Více

PŘÍLOHA č. 2B PŘÍRUČKA IS KP14+ PRO OPTP - ŽÁDOST O ZMĚNU

PŘÍLOHA č. 2B PŘÍRUČKA IS KP14+ PRO OPTP - ŽÁDOST O ZMĚNU PŘÍLOHA č. 2B PRAVIDEL PRO ŽADATELE A PŘÍJEMCE PŘÍRUČKA IS KP14+ PRO OPTP - ŽÁDOST O ZMĚNU OPERAČNÍ PROGRAM TECHNICKÁ POMOC Vydání 1/7, platnost a účinnost od 04. 04. 2016 Obsah 1 Změny v projektu... 3

Více

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

Struktura třídy, operátory, jednoduché algoritmy, junit. Programování II 2. cvičení Alena Buchalcevová 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

Více

Konstruktory a destruktory

Konstruktory a destruktory Konstruktory a destruktory Nedostatek atributy po vytvoření objektu nejsou automaticky inicializovány hodnota atributů je náhodná vytvoření metody pro inicializaci, kterou musí programátor explicitně zavolat,

Více

Úložiště elektronických dokumentů GORDIC - WSDMS

Úložiště elektronických dokumentů GORDIC - WSDMS Úložiště elektronických dokumentů GORDIC - WSDMS pro verzi 3.66, verze dokumentu 1.0 GINIS Gordic spol. s r. o., Erbenova 4, Jihlava Copyright 2011, Všechna práva vyhrazena 1 Úložiště elektronických dokumentů

Více

PB161 6. přednáška (26. října 2015)

PB161 6. přednáška (26. října 2015) PB161 6. přednáška (26. října 2015) Standardní knihovna C++ obsahuje řadu částí, některé už jsme viděli (strings, I/O streams) mimo jiné obsahuje i knihovní funkce ze standardní knihovny jazyka C jiné

Více

2.8.9 Parametrické rovnice a nerovnice s absolutní hodnotou

2.8.9 Parametrické rovnice a nerovnice s absolutní hodnotou .8.9 Parametrické rovnice a nerovnice s absolutní hodnotou Předpoklady: 0,, 806 Pedagogická poznámka: Opět si napíšeme na začátku hodiny na tabuli jednotlivé kroky postupu při řešení rovnic (nerovnic)

Více

Dynamicky vázané metody. Pozdní vazba, virtuální metody

Dynamicky vázané metody. Pozdní vazba, virtuální metody Dynamicky vázané metody Pozdní vazba, virtuální metody Motivace... class TBod protected: float x,y; public: int vrat_pocet_bodu() return 1; ; od třídy TBod odvodíme: class TUsecka: public TBod protected:

Více

Definice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky

Definice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky JAVA Třídy Definice třídy úplná definice [public] [abstract] [final] class Jmeno [extends Predek] [impelements SeznamInterfacu] {... // telo tridy public veřejná třída abstract nesmí být vytvářeny instance

Více

2.7.2 Mocninné funkce se záporným celým mocnitelem

2.7.2 Mocninné funkce se záporným celým mocnitelem .7. Mocninné funkce se záporným celým mocnitelem Předpoklady: 70 Mocninné funkce se záporným celým mocnitelem: znamená? 3 y = = = = 3 y y y 3 = ; = ; = ;.... Co to Pedagogická poznámka: Nechávám studenty,

Více

Programování v Javě I. Únor 2009

Programování v Javě I. Únor 2009 Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Únor 2009 Radek Kočí Seminář Java Programování v Javě (1) 1/ 44 Téma přednášky Datové typy Deklarace třídy Modifikátory

Více

, Brno Připravil: David Procházka Návrhové vzory

, Brno Připravil: David Procházka Návrhové vzory 7. 10. 2010, Brno Připravil: David Procházka Návrhové vzory Základy objektově orientovaného návrhu Design Patterns NV (Design patterns) můžeme s nadsázkou označit za ntu, jak řešit určitý problém nejen

Více

IRAE 07/08 Přednáška č. 2. atr1 atr2. atr1 atr2 -33

IRAE 07/08 Přednáška č. 2. atr1 atr2. atr1 atr2 -33 Objekt jako proměnná Objekty a metody Objekt = proměnná referenčního typu vznik pomocí new, chování viz pole jako referenční proměnná minulý semestr Stack Heap objekt ref this 10 20 atr1 atr2 jinyobjekt

Více

1.3.1 Kruhový pohyb. Předpoklady: 1105

1.3.1 Kruhový pohyb. Předpoklady: 1105 .. Kruhový pohyb Předpoklady: 05 Předměty kolem nás se pohybují různými způsoby. Nejde pouze o přímočaré nebo křivočaré posuvné pohyby. Velmi často se předměty otáčí (a některé se přitom pohybují zároveň

Více

PADS návrh jednoduchého regulátoru

PADS návrh jednoduchého regulátoru PADS návrh jednoduchého regulátoru zpracováno podle: http://www.people.vcu.edu/~rhklenke/tutorials/pads/pads_tutorial_3.3v_reg/simplereg.html Schéma - 1. Začneme spuštěním PADS Logic z příslušného adresáře

Více

Dotaz č. 1. Dotaz č. 2. Dotaz č. 3. Dotaz č. 4. Identifikace zadavatele

Dotaz č. 1. Dotaz č. 2. Dotaz č. 3. Dotaz č. 4. Identifikace zadavatele Dodatečné informace č. 3 k VZ Personální a mzdový informační systém Dodatečné informace č. 3 k zadávacím podmínkám podlimitní veřejné zakázky Personální a mzdový informační systém dle 49 odst. 2 zákona

Více

Dědění, polymorfismus

Dědění, polymorfismus Programování v jazyce C/C++ Ladislav Vagner úprava Pavel Strnad Dědění. Polymorfismus. Dnešní přednáška Statická a dynamická vazba. Vnitřní reprezentace. VMT tabulka virtuálních metod. Časté chyby. Minulá

Více

Vrtání závitů bez vyrovnávací hlavičky (G331, G332)

Vrtání závitů bez vyrovnávací hlavičky (G331, G332) Předpoklady Funkce Technickým předpokladem pro vrtání závitů bez vyrovnávací hlavičky je vřeteno s regulací polohy a systémem pro měření dráhy. Vrtání závitů bez vyrovnávací hlavičky se programuje pomocí

Více

SIS INSTALAČNÍ PŘÍRUČKA (SITE INFORMATION SYSTEM) Datum vytvoření: 20.8.2014 Datum aktualizace: 1.5.2016 Verze: v 1.3 Reference:

SIS INSTALAČNÍ PŘÍRUČKA (SITE INFORMATION SYSTEM) Datum vytvoření: 20.8.2014 Datum aktualizace: 1.5.2016 Verze: v 1.3 Reference: SIS (SITE INFORMATION SYSTEM) INSTALAČNÍ PŘÍRUČKA Připravil: AdiNet s.r.o. Datum vytvoření: 20.8.2014 Datum aktualizace: 1.5.2016 Verze: v 1.3 Reference: Kapitola 1 - Řízení dokumentu 2002 1.1 Záznam změn

Více

Čl. 1 Smluvní strany. Čl. 2 Předmět smlouvy

Čl. 1 Smluvní strany. Čl. 2 Předmět smlouvy Veřejnoprávní smlouva č. 1/2015 o poskytnutí dotace dle zákona č. 250/2000 Sb., o rozpočtových pravidlech územních rozpočtů, ve znění pozdějších předpisů Na základě usnesení zastupitelstva obce Čáslavsko

Více

Jazyk C++ I. Šablony 2

Jazyk C++ I. Šablony 2 Jazyk C++ I Šablony 2 AR 2013/2014 Jazyk C++ I Třídy template class TVektor { T *a; int n; static int PocInstanci; public: TVektor(int _n = 0) : n(_n) { a = new T[n]; PocInstanci++; } ~TVektor()

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo a název šablony III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo didaktického materiálu EU-OPVK-VT-III/2-ŠR-303 Druh didaktického materiálu DUM Autor RNDr. Václava Šrůtková Jazyk čeština

Více

přetížení operátorů (o)

přetížení operátorů (o) přetížení operátorů (o) - pro vlastní typy je možné přetížit i operátory (tj. definovat vlastní) - pro definici slouží klíčové slovo operator následované typem/znakem operátoru - operátor je speciální

Více

Finanční matematika Vypracovala: Mgr. Zuzana Kopečková

Finanční matematika Vypracovala: Mgr. Zuzana Kopečková Finanční matematika Vypracovala: Mgr. Zuzana Kopečková Název školy Název a číslo projektu Název modulu Obchodní akademie a Střední odborné učiliště, Veselí nad Moravou Motivace žáků ke studiu technických

Více

Třídy. Instance. Pokud tento program spustíme, vypíše následující. car1 má barvu Red. car2 má barvu Red. car1 má barvu Blue.

Třídy. Instance. Pokud tento program spustíme, vypíše následující. car1 má barvu Red. car2 má barvu Red. car1 má barvu Blue. 23. Třídy, generické třídy, instance, skládání, statické metody a proměnné. Zapouzdření, konstruktory, konzistence objektu, zpřístupnění vnitřní implementace, modifikátory public a private. Polymorfismus,

Více

Mělká a hluboká kopie

Mělká a hluboká kopie Karel Müller, Josef Vogel (ČVUT FIT) Mělká a hluboká kopie BI-PA2, 2011, Přednáška 5 1/28 Mělká a hluboká kopie Ing. Josef Vogel, CSc Katedra softwarového inženýrství Katedra teoretické informatiky, Fakulta

Více

Jazyk C++ I. Šablony 3

Jazyk C++ I. Šablony 3 Jazyk C++ I Šablony 3 AR 2013/2014 Jazyk C++ I Třídy template class TVektor { T *a; int n; static int PocInstanci; public: TVektor(int _n = 0) : n(_n) { a = new T[n]; PocInstanci++; } ~TVektor()

Více

a) Slovní úlohy o směsích b) Slovní úlohy o pohybu c) Slovní úlohy o společné práci

a) Slovní úlohy o směsích b) Slovní úlohy o pohybu c) Slovní úlohy o společné práci 9. ročník a) Slovní úlohy o směsích b) Slovní úlohy o pohybu c) Slovní úlohy o společné práci d) Logické slovní úlohy Obecný postup řešení slovní úlohy: 1. Určení neznámých 2. Stanovení dvou vztahů rovnosti

Více

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod. Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání

Více

E-ZAK. metody hodnocení nabídek. verze dokumentu: 1.1. 2011 QCM, s.r.o.

E-ZAK. metody hodnocení nabídek. verze dokumentu: 1.1. 2011 QCM, s.r.o. E-ZAK metody hodnocení nabídek verze dokumentu: 1.1 2011 QCM, s.r.o. Obsah Úvod... 3 Základní hodnotící kritérium... 3 Dílčí hodnotící kritéria... 3 Metody porovnání nabídek... 3 Indexace na nejlepší hodnotu...4

Více

11. Dědičnost. Dědičnost strana 103

11. Dědičnost. Dědičnost strana 103 Dědičnost strana 103 11. Dědičnost V této kapitole si vysvětlíme jeden ze základních pojmů objektově orientovaného programování dědičnost (inheritance). S ní souvisejí i následující témata: předek a potomek

Více

Android OpenGL. Animace a ovládání pomocí dotykové obrazovky

Android OpenGL. Animace a ovládání pomocí dotykové obrazovky Android OpenGL Animace a ovládání pomocí dotykové obrazovky Principy animace Animace udává pohyb objektů v čase Může být reprezentována mnoha způsoby Procedurální Pozice objektů se počítá přímo v programu

Více

14.4.1. Typický prvek kolekce pro české řazení

14.4.1. Typický prvek kolekce pro české řazení 14.4. Co všechno by měl mít typický prvek kolekce 177 Poznámka: Třídy BigInteger, BigDecimal a Date budou vysvětleny v částech [15./183, [16./185 a [18.1./204. 14.4.1. Typický prvek kolekce pro české řazení

Více

( ) 2.4.4 Kreslení grafů funkcí metodou dělení definičního oboru I. Předpoklady: 2401, 2208

( ) 2.4.4 Kreslení grafů funkcí metodou dělení definičního oboru I. Předpoklady: 2401, 2208 .. Kreslení grafů funkcí metodou dělení definičního oboru I Předpoklady: 01, 08 Opakování: Pokud jsme při řešení nerovnic potřebovali vynásobit nerovnici výrazem, nemohli jsme postupovat pro všechna čísla

Více

Bridge. Známý jako. Účel. Použitelnost. Handle/Body

Bridge. Známý jako. Účel. Použitelnost. Handle/Body Bridge Bridge Známý jako Handle/Body Účel odděluje abstrakci (rozhraní a jeho sémantiku) od její konkrétní implementace předchází zbytečnému nárůstu počtu tříd při přidávání implementací používá se v době

Více

KTE / ZPE Informační technologie

KTE / ZPE Informační technologie 4 KTE / ZPE Informační technologie Ing. Petr Kropík, Ph.D. email: pkropik@kte.zcu.cz tel.: +420 377 63 4639, +420 377 63 4606 (odd. informatiky) Katedra teoretické elektrotechniky FEL ZČU Plzeň Největší

Více

Tvorba trendové funkce a extrapolace pro roční časové řady

Tvorba trendové funkce a extrapolace pro roční časové řady Tvorba trendové funkce a extrapolace pro roční časové řady Příklad: Základem pro analýzu je časová řada živě narozených mezi lety 1970 a 2005. Prvním úkolem je vybrat vhodnou trendovou funkci pro vystižení

Více

Připravil: David Procházka. Programovací jazyk C++

Připravil: David Procházka. Programovací jazyk C++ 17. října 2011, Brno Připravil: David Procházka Práce s výjimkami Programovací jazyk C++ Obecně Strana 2 / 21 Jak se může program zachovat při chybě Dříve byl obvyklý způsob zavolat metodu abort. Metoda

Více

AirGateway. Návod / rev.0. Strana 1 z 9

AirGateway. Návod / rev.0. Strana 1 z 9 Strana 1 z 9 1. Úvod... 3 2. Nastavení AirGateway jako station (klient) pro připojení k Vaší WiFi síti... 4 3. Nastavení... 5 Strana 2 z 9 1. Úvod Gratulujeme Vám k zakoupení AirGateway (WIfi propojovací

Více

Jednoduché úročení. Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T. G. Masaryka, Kostelec nad Orlicí

Jednoduché úročení. Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T. G. Masaryka, Kostelec nad Orlicí Jednoduché úročení Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T. G. Masaryka, Kostelec nad Orlicí Jednoduché úročení Úroky se počítají ze stále stejného základu, tzn.

Více

Objektově orientované programování

Objektově orientované programování Objektově orientované programování Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 7 A0B36PR1 Programování 1 Jan Faigl, 2015 A0B36PR1 Přednáška 7: Objektově

Více

IS BENEFIT7 POKYNY PRO VYPLNĚNÍ ZJEDNODUŠENÉ ŽÁDOSTI O PLATBU EX-ANTE ZÁLOŽKA ŽÁDOST O PLATBU

IS BENEFIT7 POKYNY PRO VYPLNĚNÍ ZJEDNODUŠENÉ ŽÁDOSTI O PLATBU EX-ANTE ZÁLOŽKA ŽÁDOST O PLATBU IS BENEFIT7 POKYNY PRO VYPLNĚNÍ ZJEDNODUŠENÉ ŽÁDOSTI O PLATBU EX-ANTE ZÁLOŽKA ŽÁDOST O PLATBU Vážení příjemci, upozorňujeme Vás na skutečnost, že v případě financování projektu v režimu ex-ante není možné

Více

Sada 2 - MS Office, Excel

Sada 2 - MS Office, Excel S třední škola stavební Jihlava Sada 2 - MS Office, Excel 20. Excel 2007. Kontingenční tabulka Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284

Více

Výčtový typ strana 67

Výčtový typ strana 67 Výčtový typ strana 67 8. Výčtový typ V této kapitole si ukážeme, jak implementovat v Javě statické seznamy konstant (hodnot). Příkladem mohou být dny v týdnu, měsíce v roce, planety obíhající kolem slunce

Více

Google AdWords - návod

Google AdWords - návod Google AdWords - návod Systém Google AdWords je reklamním systémem typu PPC, který provozuje společnost Google, Inc. Zobrazuje reklamy ve výsledcích vyhledávání či v obsahových sítích. Platí se za proklik,

Více

PŘIHLÁŠENÍ DO KATALOGU

PŘIHLÁŠENÍ DO KATALOGU PŘIHLÁŠENÍ DO KATALOGU Do katalogu knihoven VUT http://aleph.lib.vutbr.cz se můžete přihlásit třemi způsoby: a/ Přihlašovací jméno = VUTlogin (popř. VUTperid, pro ty co neobdrželi VUTlogin) Heslo = VUTPin

Více

10. března 2015, Brno Připravil: David Procházka. Programovací jazyk C++

10. března 2015, Brno Připravil: David Procházka. Programovací jazyk C++ 10. března 2015, Brno Připravil: David Procházka Práce s výjimkami Programovací jazyk C++ K čemu slouží výjimky Strana 2 / 25 Obsah přednášky 1 K čemu slouží výjimky 2 Vytváření výjimek 3 Speciální případy

Více

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 17, 2016

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 17, 2016 ZPRO cvičení 2 Martin Flusser Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague October 17, 2016 Outline I 1 Outline 2 Proměnné 3 Proměnné - cvičení 4 Funkce 5 Funkce

Více

Poznámky k verzi. Scania Diagnos & Programmer 3, verze 2.27

Poznámky k verzi. Scania Diagnos & Programmer 3, verze 2.27 cs-cz Poznámky k verzi Scania Diagnos & Programmer 3, verze 2.27 Verze 2.27 nahrazuje verzi 2.26 programu Scania Diagnos & Programmer 3 a podporuje systémy ve vozidlech řady P, G, R a T a řady F, K a N

Více

= musíme dát pozor na: jmenovatel 2a, zda je a = 0 výraz pod odmocninou, zda je > 0, < 0, = 0 (pak je jediný kořen)

= musíme dát pozor na: jmenovatel 2a, zda je a = 0 výraz pod odmocninou, zda je > 0, < 0, = 0 (pak je jediný kořen) .8.7 Kvadratické rovnice s parametrem Předpoklady: 507, 803 Pedagogická poznámka: Na první pohled asi každého zarazí, že takřka celá hodina je psána jako příklady a studenti by ji měli vypracovat samostatně.

Více

Základy objektové orientace I. Únor 2010

Základy objektové orientace I. Únor 2010 Seminář Java Základy objektové orientace I Radek Kočí Fakulta informačních technologií VUT Únor 2010 Radek Kočí Seminář Java Základy OO (1) 1/ 20 Téma přednášky Charakteristika objektově orientovaných

Více

Tabulka symbolů. Vazba (binding) Vazba - příklad. Deklarace a definice. Miroslav Beneš Dušan Kolář

Tabulka symbolů. Vazba (binding) Vazba - příklad. Deklarace a definice. Miroslav Beneš Dušan Kolář Vazba (binding) Tabulka symbolů Miroslav Beneš Dušan Kolář vazba = spojení mezi entitou a vlastností okamžik vazby (binding time) při návrhu jazyka při implementaci jazyka během překladu/spojování/zavádění

Více

Třída. Atributy. Operace

Třída. Atributy. Operace Class Diagrams Třída Atributy Operace Třída Třída je jakýsi prototyp objektů. Za třídou si můžeme představit množinu jejích instancí. Každý objekt dané třídy má stejnou množinu atributů (proměnných) a

Více

AUTORKA Barbora Sýkorová

AUTORKA Barbora Sýkorová ČÍSLO SADY III/2 AUTORKA Barbora Sýkorová NÁZEV SADY: Číslo a proměnná číselné označení DUM NÁZEV DATUM OVĚŘENÍ DUM TŘÍDA ANOTACE PLNĚNÉ VÝSTUPY KLÍČOVÁ SLOVA FORMÁT (pdf,, ) 1 Pracovní list číselné výrazy

Více

Jazyk C# (seminář 6)

Jazyk C# (seminář 6) Jazyk C# (seminář 6) Pavel Procházka KMI 29. října 2014 Delegát motivace Delegáty a události Jak docílit v C# funkcionální práce s metodami v C je to pomocí pointerů na funkce. Proč to v C# nejde pomocí

Více

Definice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky

Definice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky JAVA Třídy Definice třídy úplná definice [public] [abstract] [final] class Jmeno [extends Predek] [impelements SeznamInterfacu] {... // telo tridy public veřejná třída abstract nesmí být vytvářeny instance

Více

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Předmět: Vývoj aplikací Téma: Datové typy Vyučující: Ing. Milan Káža Třída: EK3 Hodina: 5 Číslo: V/5 Programování v jazyce

Více

Teoretické minimum z PJV

Teoretické minimum z PJV Teoretické minimum z PJV Pozn.: následující text popisuje vlastnosti jazyka Java zjednodušeně pouze pro potřeby výuky. Třída Zavádí se v programu deklarací třídy což je část programu od klíčových slov

Více

Programování v C++ První kroky

Programování v C++ První kroky Programování v C++ První kroky Karel Mozdřeň 29. října 2009 1 Obsah 1 Úvod 5 1.1 Pro koho je kniha určena...................... 5 1.2 Proč první kroky?.......................... 5 2 Začínáme 6 2.1 Hello,

Více

Programování II 1. přednáška. Alena Buchalcevová

Programování II 1. přednáška. Alena Buchalcevová Programování II 1. přednáška Alena Buchalcevová Cíle kurzu Seznámit se s principy objektově orientovaného programování v jazyce Java Základní seznámení s objekty Třídy a instance Volání metod, datové atributy

Více

Výukový materiál zpracovaný v rámci projektu Výuka moderně

Výukový materiál zpracovaný v rámci projektu Výuka moderně Střední průmyslová škola strojnická Olomouc, tř. 17. listopadu 49 Výukový materiál zpracovaný v rámci projektu Výuka moderně Registrační číslo projektu: CZ.1.07/1.5.00/34.0205 Šablona: III/2Management

Více

Programování v C++ 1, 14. cvičení

Programování v C++ 1, 14. cvičení Programování v C++ 1, 14. cvičení výpustka, přetěžování funkcí, šablony funkcí 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 funkcí

Více

M - Rovnice - lineární a s absolutní hodnotou

M - Rovnice - lineární a s absolutní hodnotou Rovnice a jejich ekvivalentní úpravy Co je rovnice Rovnice je matematický zápis rovnosti dvou výrazů. př.: x + 5 = 7x - M - Rovnice - lineární a s absolutní hodnotou Písmeno zapsané v rovnici nazýváme

Více