PB161 Programování v jazyce C++ Objektově Orientované Programování
|
|
- Tomáš Müller
- před 8 lety
- Počet zobrazení:
Transkript
1 Programování v jazyce C++ Objektově Orientované Programování Principy OOP zapouzdření, konstruktory, destruktory, const Principy OOP - Zapouzdření
2 Organizační - materiály Slidy a příprava pro další týden typicky dostupné v pátek odpoledne včetně zadání domácího úkolu odpoledne / večer po přednášce aktualizované Video nahrávky do dvou dnu po přednášce (automaticky) Twitter zveřejnění přípravy a slidů, občasné info (opravdu důležité věci budou rozesílány hromadně na IS mail) ( pro zavislé na FB, T...) Principy OOP - Zapouzdření
3 Studentští poradci Studentští poradci Hlavní počítačová hala, notebookové místo u kopírky dostupní pravidelně od tohoto týdne časy na Kudos pokud vám poradce dobře poradí, můžete mu udělit pochvalu: Principy OOP - Zapouzdření
4 Vnitrosemestrální test domluva termínu Forma testového papírového odpovědníku stejně jako v PB071 celkově max. 20 bodů 2 termíny pro přihlášení (16-17, 17-18) Bude obsahovat náplň předchozích přednášek co udělá, vypíše, způsobí zadaný kód Možnosti termínu: Principy OOP - Zapouzdření
5 Co nás dnes čeká Více o objektovém návrhu Koncept třídy v syntaxi C++ Princip a implementace zapouzdření Principy OOP - Zapouzdření
6 Tvorba softwarové architektury Jde o proces tvorby aplikace Jak rozdělit zadaný problém do oddělených částí? Jak definovat rozhraní mezi těmito částmi? Jak definovat rozhraní mezi aplikací a okolím? Jak definovat komunikaci mezi částmi? Jak to všechno správně naprogramovat? Existuje více přístupů, OOP jedním z nich Principy OOP - Zapouzdření
7 Objektově orientované programování Programovací styl pro zvýšení robustnosti, udržovatelnosti a rozšiřovatelnosti kódu Centrováno kolem myšlenky objektu kombinace dat (atributů) a funkcí (metod) pro práci s nimi umožňuje logicky svázat data a funkce, které s nimi pracují Objekt je do jisté míry autonomní obsahuje vše, co potřebuje ke své činnosti s výjimkou interakce s ostatními objekty např. konkrétní člověk v rámci lidské společnosti Principy OOP - Zapouzdření
8 Objektově orientované programování (2) Tento styl programování poskytuje ochranu částí kódu a dat (zapouzdření) implementace specializace rozhranní (dědičnost) silnou typovost s rozšiřitelností (polymorfismus) Přímá podpora v syntaxi některých jazyků čistě OOP jazyky (Smalltalk) vs. smíšené (C++) Principy OOP - Zapouzdření
9 Strukturovaný přístup k řešení problému Např. klasické C (ale pořád možno i v C++) Přemýšlíme o funkcích, které mají vstup a výstup Kroky při vývoji: Abstrakce navrhujeme procesy, které řeší problém Dekompozice rozdělíme procesy do menších podčástí (funkcí) Propojení implementujeme funkce a jejich vzájemné volání Nejprve definujeme procesy a datové struktury Poté definujeme sadu funkcí realizující proces a pracujících s datovými strukturami Principy OOP - Zapouzdření
10 Objektově orientovaný přístup k řešení Např. OOP v C++ Přemýšlíme o objektech, které mezi sebou interagují Kroky při vývoji: Abstrakce navrhujeme nezávislé entity, které spolupracují Dekompozice rozdělíme problém na objekty zodpovědné za realizaci entit Propojení vytvoříme potřebné množství objektů a necháme je interagovat Nejprve definujeme chování a vlastnosti objektů Poté vytvoříme jejich instance a necháme je spolupracovat (volají své metody) Principy OOP - Zapouzdření
11 Mapování OOP na C++ objekt ~ instance C++ třídy zpráva ~ volání metody metoda ~ členská funkce parametry zprávy ~ parametry metody stav ~ hodnoty atributů Principy OOP - Zapouzdření
12 Třídy v C++ Založeno na konceptu tříd a objektů Analogie se struct z C, ale s většími možnostmi struktura doplněná o metody, kterými může svá data manipulovat Třída podklad pro vytvoření objektu (alá struct XY) atributy (data) a metody (implementace funkce) např. výkresy pro Škoda Octavia Objekt instance třídy (alá proměnná typu struct XY) může být více objektů z jedné třídy (~ více struktur typu XY) má svůj stav (hodnoty atributů) a definované chování (metody) např. konkrétní auto Škoda Octavia s SPZ BMZ-4523 Principy OOP - Zapouzdření
13 Uživatelský datový typ Třída - class Nové v C++, ale hodně podobností s C struct Atributy datové položky v rámci třídy stejné jako u struct, ale nejsou z venku viditelné přístup pomocí speciální metody (getter/setter) nebo změna práv Tvorba instance třídy (objekt) stejně jako u struct (instance třídy X == proměnná s typem X) lze inicializovat při vytváření instance (tzv. konstruktor) Možnosti manipulace stejně jako u struct COctavia autobmz4523; COctavia* pautobmz4523 = &autobmz4523; COctavia* pautobmz4523 = new COctavia( BMZ4523 ); Principy OOP - Zapouzdření
14 Ukázka syntaxe class vs. struct v C struct Mouse { int size; ; Class je vylepšená struct int feed(mouse* pmouse, unsigned int foodamount) { ; if (pmouse) { pmouse->size += foodamount / 10; return pmouse->size; else return -1; Speciální metoda pro inicializaci Funkce feed je přímo součást třídy není nutné dávat jako parametr int feedmousedemo() { struct Mouse mouse1; struct Mouse mouse2; mouse1 a mouse2 jsou objekty třídy CMouse mouse1.size = 10; mouse2.size = 50; feed(&mouse1, 100); feed(&mouse2, 30); return 0; Principy OOP - Zapouzdření class CMouse { int m_size; public: CMouse(int initialsize) { m_size = initialsize; int feed(unsigned int foodamount){ m_size += foodamount / 10; return m_size; ; int feedmousedemo() { CMouse mouse1(10); CMouse mouse2(50); mouse1.feed(100); mouse2.feed(30); return 0;
15 Uživatelský datový typ Třída class (2) Konstruktor, destruktor metoda automaticky volaná při vytváření resp. rušení objektu (detaily později) Deklaraci lze oddělit od definice deklarace v hlavičkovém souboru (*.h) definice (implementace) ve zdrojovém souboru (*.cpp) Dopředná deklarace s neúplným typem stejně jako u struct class CMouse; CMouse musí být později dodefinována (jinak chyba při linkování) Principy OOP - Zapouzdření
16 Připomenutí Třída je podklad pro tvorbu objektů Objekt je paměťová instance třídy Třída obsahuje datové atributy a metody pro práci s nimi Atribut m_size Třída CMouse Metoda feed Objekt mouse1 Principy OOP - Zapouzdření
17 Metoda třídy Metoda třídy je funkce (stejná syntaxe i chování) Metoda třídy typicky pracuje s vnitřním stavem čte/modifikuje atributy Metoda třídy má vždy jeden skrytý argument nultý argument ukazatel na instanci třídy, jejíž metoda se volá struct + funkce struct Mouse { int size; ; int feed(mouse* pmouse, int foodamount) { pmouse->size += foodamount / 10; return pmouse->size; skrytý parametr this Principy OOP - Zapouzdření class CMouse { class + metoda int m_size; int feed(int foodamount){ m_size += foodamount / 10; return m_size; ;
18 Ukazatel this Ukazatel na aktuální objekt this->m_size; Automaticky jako parametr metod třídy není explicitně deklarován v hlavičce metody je ale dostupný pro použití Použití při konfliktu atributu třídy a parametru metody parametr metody má stejné jméno jako vnitřní atribut Použití pro test přiřazení sebe sama u přiřazovacích operátorů (viz. později) Použití pro možnost řetězení příkazů u přiřazovacích operátorů (viz. později) class CTest { int value; public: int getvalue2() const { int value = 1; return value; ; Principy OOP - Zapouzdření
19 Ukazatel this - ukázka class CTest { int value; public: CTest() : value(0) { int getvalue() const { int value = 1; ; problém s rozlišením // local variable return value; // What will be returned? 1 or 0? int getvalue2() const { int value = 1; return this->value; // Use this to distinguish void testsame(const CTest& test) const { if (&test == this) cout << "Same" << endl; else cout << "Different" << endl; rozlišení pomocí this #include <iostream> using std::cout; using std::endl; int main() { CTest test; cout << test.getvalue() << endl; cout << test.getvalue2() << endl; testování sebe sama CTest test2; test.testsame(test2); test.testsame(test); return 0; Principy OOP - Zapouzdření
20 Deklarace vs. definice Deklarace zavádí nové jméno entity do programu typicky v hlavičkovém souboru (*.h) Definice poskytuje unikátní popis (implementaci) entity funkce, typ, třída, instance... typicky ve zdrojovém souboru (*.cpp) Jen jedna definice (implementace), možno více deklarací Deklarace může být zároveň definice např. deklarace metody přímo doplněná jejím tělem Principy OOP - Zapouzdření
21 Ukázka třídy rozdělené do H a CPP #ifndef MOUSE_H #define MOUSE_H class CMouse { int m_size; public: CMouse(); int getsize() const { return m_size; bool feed(const unsigned int foodamount); private: bool increasesize(const unsigned int foodamount); ; #endif // MOUSE_H deklarace mouse.h deklarace i definice deklarace Principy OOP - Zapouzdření #include "mouse.h" CMouse::CMouse() { definice m_size = 10; bool CMouse::feed(const unsigned int foodamount) { // Check basic limits of foodamount if (foodamount > 0 && foodamount < 100) { return increasesize(foodamount); else return false; bool CMouse::increaseSize(const unsigned int foodamount) { m_size += foodamount / 10; return true; import deklarací mouse.cpp definice
22 Zamyšlení: Co je vlastně všechno třída? What s in a class? The Interface Principle Třída není jen to, co je obsaženo v její definici tj. nejen obsah class { Třída jsou i volné funkce pracující s danou třídou pouze ty obsažené v hlavičkovém souboru definujícím třídu předpis jak se má daná třída využívat tvůrce třídy vytváří celý *.h soubor Principy OOP - Zapouzdření
23 Konstruktor Principy OOP - Zapouzdření
24 Konstruktor - motivace Motivace: Naše třída má několik atributů Jaká bude jejich hodnota při vytvoření objektu? class CExampleClassDefConstructor { int m_atrib; public: int getatrib() const { return m_atrib; ; int main() { CExampleClassDefConstructor object1; // Invoke default constructor cout << "object1::m_atrib = " << object1.getatrib() << endl; //??? return 0; většinou neinicializovaná => nepříjemné Možným řešením je speciální metoda clean() ale zbytečné volání hned po vytvoření objektu C++ nabízí elegantní řešení - konstruktor Principy OOP - Zapouzdření
25 Konstruktor Metoda, která je automaticky volána při vytváření objektu Zajistí, že objekt bude od začátku v konzistentním stavu můžeme inicializovat atributy na defaultní hodnotu můžeme je nastavit na speciální hodnoty můžeme otevřít spojení na server Konstruktor může mít argumenty a může být přetížen inicializace uživatelem zadanými hodnotami více konstruktorů s různými argumenty (přetížení, více později) Principy OOP - Zapouzdření
26 Konstruktory - syntaxe bez návratové hodnoty class CExampleClass { int m_atrib1; int m_atrib2; public: CExampleClass(); // Constructor with no parameters CExampleClass(int atribute1); // Constructor with one parameter CExampleClass(int atribute1, int atribute2);// Constructor with two parameters ; jméno metody jako třída int getatrib1() const { return m_atrib1; int getatrib2() const { return m_atrib2; Deklarace konstruktorů s 0, 1 a 2 parametry Volání konstruktorů CExampleClass::CExampleClass() { m_atrib1 = 0; m_atrib2 = 0; Implementace konstruktorů CExampleClass object2; CExampleClass object3(10); CExampleClass object4(10, 15); CExampleClass::CExampleClass(int atribute1) { m_atrib1 = atribute1; m_atrib2 = 0; CExampleClass::CExampleClass(int atribute1, int atribute2) { m_atrib1 = atribute1; m_atrib2 = atribute2; Principy OOP - Zapouzdření
27 Defaultní konstruktor Co když není definován žádný konstruktor? automaticky existuje defaultní konstruktor nemá žádné argumenty a neinicializuje atributy CClass object; Definováním uživatelského konstruktoru se odstraní defaultní konstruktor bez argumentů pokud chceme konstruktor bez parametrů, musíme ho znova definovat tzv. bezparametrický konstruktor V C++ se bezparametrické konstruktory volají pouze pro třídy a struktury pro nativní (built-in) typy se nevolá nic Principy OOP - Zapouzdření
28 Konstruktor inicializační sekce Inicializační sekce konstruktoru inicializace atributů předání parametrů pro konstruktor rodiče class X { int m_atrib1; int m_atrib2; public: X(int atrib1) : m_atrib1(atrib1), m_atrib2(1) { ; class Y : public X { public: Y() : X(33) { ; Preferujte inicializační sekci před přiřazením nelze jinak předat argumenty pro konstruktor předka nelze jinak inicializovat atributy s referenčním typem nemusí se vytvářet lokální kopie argumentů Principy OOP - Zapouzdření
29 Kostruktory - ukázka constructordemo.cpp použití konstruktoru neinicializovaná proměnná defaultní konstruktor konstruktor s argumenty přetížení konstruktoru Principy OOP - Zapouzdření
30 Quiz Co znamenají následující řádky? class CClass; class CClass {; CClass obj1; CClass obj1(10); CClass obj1(); CClass* obj1 = new CClass(10); delete obj1; Principy OOP - Zapouzdření
31 Bezparametrický konstruktor a C++11 Co znamená CClass object(); Nelze deklarovat, je to považováno za deklaraci funkce object bez argumentů vracející CClass V C++11 došlo ke sjednocení syntaxe CClass object{; // default constructor int i{; // default ctor, i==0 Principy OOP - Zapouzdření
32 C++11 default a delete Součástí tříd obecně je několik důležitých metod Bezparametrický konstruktor Kopírovací konstruktor detaily pozdější přednáška Move konstruktor detaily na konci semestru Přiřazovací operátor Lze definovat, že některá z těchto metod je defaultní (default) nebo zakázaná (delete) class CClass { public: ; CClass() = default; CClass &operator=( CClass ) = delete; Principy OOP - Zapouzdření
33 C++11 inicializační seznam Je zavedená možnost použití inicializačního seznamu Pomocí složených závorek je možné také vytvářet instance i přes jiný konstruktor #include <initializer_list> #include <algorithm> class MyClass { public: ; int *data; // inicializacní seznam se bere vždy hodnotou MyClass( std::initializer_list< int > l ) : data( new int[ l.size() ] ) { std::copy( l.begin(), l.end(), data ); MyClass object{1, 2, 3, 4, 5, 42, 1001; Principy OOP - Zapouzdření
34 Destruktory Určeno pro úklid objektu uvolnění polí a dynamických struktur uzavření spojení apod. Automaticky voláno při uvolňování objektu statická i dynamická alokace Může být pouze jediný (nelze přetěžovat) Nemá žádné parametry 34 Principy OOP - Zapouzdření
35 Destruktor - syntaxe Syntaxe ~jméno_třídy() Stejné jméno jako třída Nevrací návratovou hodnotu U C++ vždy voláno při zániku objektu konec platnosti lokální proměnné dealokace dynamicky alokovaného objektu odlišnost od Javy (Garbage collection) class CExampleClass { public: CExampleClass(); // Constructor with no parameters ~CExampleClass(); // Destructor virtual ~CExampleClass(); // Destructor ; 35 Principy OOP - Zapouzdření
36 Proč virtuální destruktor? 36 Principy OOP - Zapouzdření
37 Zapouzdření Principy OOP - Zapouzdření
38 Proč je výhodné zapouzdření struct Point { int x, y; void Draw() {... ; int main(void) { Point mypoint; mypoint.x = 10; mypoint.y = 20; mypoint.draw(); return 0; class CPoint { int m_x, m_y; public: CPoint() { m_x = 0; m_y = 0; void setpoint(int x, int y) { m_x = x; m_y = y; void Draw() {... ; int main(void) { CPoint mypoint2; mypoint2.setpoint(10, 20); mypoint2.draw(); return 0; Principy OOP - Zapouzdření
39 Zapouzdření změna zadání Naši třídu už někdo používá, šedý kód z minulého slidu je velmi nepraktické/nemožné měnit Změna zadání: body v 3D Změna zadání: int nepostačuje pro zachycení rozsahu souřadnice změna typu u x a y na float? změna typu u x a y na řetězec? změna typu u x a y na BigInt? Jaké jsou důsledky pro předchozí kód? int main(void) { Point mypoint; mypoint.x = 10; mypoint.y = 20; mypoint.draw(); return 0; Zapouzdřením omezujeme viditelnost vnitřního stavu můžeme lépe kontrolovat interakce se stavem (setter) můžeme měnit reprezentaci stavu Principy OOP - Zapouzdření
40 Jak poznat, která komponenta je více zapouzdřená? Stupeň zapouzdření komponenty je nepřímo úměrný množství ostatního kódu, který přestane fungovat, pokud komponentu změníme Metrika zapouzdření: počet funkcí, které mohou vyžadovat změnu následkem změny komponenty Pokud změníme u Point datový typ proměnných na string, přestane fungovat šedý kód U CPoint změníme datový typ a upravíme příslušně setpoint() pro nové aplikace vyžadující větší přesnost přidáme další metodu setpoint()s jinými argumenty šedý kód zůstane fungovat! void setpoint(int x, int y) { m_x = converttostring(x); m_y = converttostring(y); Principy OOP - Zapouzdření
41 Zapouzdření v C++ C++ poskytuje nástroje pro zapouzdření dat ale umožňuje i porušit (tj. přímý přístup) Realizováno prostřednictvím přístupových práv k atributům k metodám Základní přístupová práva public všichni mohou číst/modifikovat/používat private nikdo kromě vlastní třídy nemůže číst nebo přímo používat protected, friend specializovanější (později) Principy OOP - Zapouzdření
42 Syntaxe přístupových práv Struktura změna z public na private Třída změna z private na public Principy OOP - Zapouzdření
43 Přístupová práva Právo platí, dokud není nastaveno jiné viz. předchozí ukázka kódu struct je to samé jako class, rozdíl právě v defaultních právech struct v C++ má všechny položky defaultně public z důvodu zpětné kompatibility s C lze přenastavit na private class v C++ má všechny položky defaultně private ponechte pro atributy private je nutné explicitně nastavit public pro veřejné metody Principy OOP - Zapouzdření
44 Přístupová práva - public K položce s právem public má přístup kdokoli atribut může být čten a měněn kýmkoli metoda může být volána zvenčí Jako public typicky neoznačujeme atributy podporujeme zapouzdření Jako public označujeme metody, které jsou součástí rozhraní deklarace existujících public metod by se neměly měnit někdo je nejspíš používá implementaci měnit můžeme (tělo je skryto) Principy OOP - Zapouzdření
45 Přístupová práva - private K položce s právem private má přístup pouze sama třída atribut nebo metoda nemůže být použit/volána zvenčí výjimkou je objekt/metoda s právem friend (viz. později) pokus o použití metody definované jako private vyvolá chybu už během překladu Jako private označujeme typicky všechny atributy podporujeme zapouzdření Jako private označujeme metody, které nejsou součástí rozhraní nechceme, aby na nich někdo závisel Principy OOP - Zapouzdření
46 Přístupová práva - ukázka accessrightsdemo.cpp deklarace veřejných a privátních atributů rozdíly class vs. struct chyby překladače přístup k privátnímu atributu přístup k privátní metodě Principy OOP - Zapouzdření
47 Pro zamyšlení: Nečlenské metody pro zlepšení zapouzdření? Členské metody (např. setter) zlepšují zapouzdření oproti situaci s přímo přístupnými atributy Mohou nečlenské metody také zlepšit zapouzdření? Metrika zapouzdření: počet funkcí, které mohou vyžadovat změnu po změně komponenty struct veškerý kód, který struct používá class všechny členské metody (N) změna jedné členské metody na nečlenskou => N - 1 Pozor, týká se jen ne-členských ne-friend funkcí tj. funkce, které pro svoje vykonání využijí pouze veřejné metody třídy Přečte si: How non-member functions improve encapsulation (Scott Meyers) Principy OOP - Zapouzdření
48 Zapouzdření a delegace požadavků Může-li třída vykonat úkol, jež ji byl zadán, vykoná jej, jinak jej deleguje tomu, kdo má zodpovědnost za vykonávaní daného úkolu Třída nemá zjišťovat informace (které by měly nejlépe zůstat zapouzdřené) od jiných tříd ve snaze se na jejich základě se rozhodnout jak úkol provést Danou záležitost má rozhodnout a provést třída, které požadované informace patří Principy OOP - Zapouzdření
49 Zapouzdření klíčové slovo const Principy OOP - Zapouzdření
50 Klíčové slovo const Zavedeno pro zvýšení robustnosti kódu proti nezáměrným implementačním chybám Motivace 1: potřebujeme označit proměnnou, která nesmí být změněna typicky konstanta, např. počet měsíců v roce Motivace 2: chceme deklarovat, že naše funkce nebude měnit vstupní parametr přestože by mohla (např. předání referencí, ukazatelem) Motivace 3: chceme deklarovat, že daná metoda nemění vnitřní stav objektu Lze ji tedy volat i nad konstantním objektem A chceme mít kontrolu přímo od překladače! Principy OOP - Zapouzdření
51 Klíčové slovo const (2) Explicitně vyznačujeme proměnnou/objekt, která nebude měněna jejíž hodnota (nebo hodnota atributů) by neměla být měněna argument, který nemá být ve funkci měněn Explicitně označujeme funkci, která může být volána i na konstatním objektu protože nebude měnit jeho vnitřní stav je kontrolováno při překladu! Lze mít dvě identické funkce lišící se pouze v const funkce s const má nižší prioritu, použije se pouze pokud bude argument také const např. begin() a end() u STL kontejnerů Principy OOP - Zapouzdření
52 Klíčové slovo const (3) Používejte co nejčastěji zlepšuje typovou kontrolu a celkovou robustnost kontrola že omylem neměníme konstantní objekt umožňuje lepší optimalizaci překladačem Proměnné s const jsou lokální v daném souboru Pozor na const int a, b = 0; raději každá proměnná na samostatném řádku Principy OOP - Zapouzdření
53 Klíčové slovo const - ukázka const proměnná const argument const metoda chyby překladače Principy OOP - Zapouzdření
54 Klíčové slovo const - proměnná #include <iostream> using namespace std; void konstconstantdemo() { //const int a, b = 0; // error, uninitialized const 'a' const int nummonthsinyear = 12; cout << "Number of months in year: " << nummonthsinyear << endl; //nummonthsinyear = 13; // error, assignment of read-only variable proměnná b není const konstanty nelze dodatečně měnit char* konstreturnvaluedemo() { return "Unmodifiable string"; const char* konstreturnvaluedemo2() { return "Unmodifiable string"; int main() { explicitně označíme řetězec jako nemodifikovatelný char* value = konstreturnvaluedemo(); value[1] = 'x'; // read-only memory write - problem char* value2 = konstreturnvaluedemo2(); // error: invalid conversion vracíme řetězec (konstantní) zde se jej ale snažíme modifikovat chyba za běhu return 0; problém ohlásí už překladač Principy OOP - Zapouzdření
55 Klíčové slovo const - metody class CMouse { int m_size; public: void setsize(int newsize) { m_size = newsize; int getsize() const { return m_size; ; void konstfunctiondemo() { CMouse mouse1; //const CMouse mouse2; // error: uninitilized const mouse2 const CMouse* pmouse2 = &mouse1; mouse1.getsize() ; mouse1.setsize(10); cout << pmouse2->getsize() << endl; metoda setsize() nemůže být konstantní (mění vnitřní stav) metodu getsize() označíme jako volatelnou i nad konstatním objektem vytvoříme si konstantní ukazatel na objekt // Let's try to call non-constant method of constant object //pmouse2->setsize(10); // error: no matching function for call nemůžeme volat nekonstantní metodu konstantního objektu Principy OOP - Zapouzdření
56 Ukazatel na konstantu, konstatní ukazatel, konstantní ukazatel na konstantu const char * myptr = &char_a; Ukazatel na konstatní hodnotu typu znak Tento ukazatel nelze využít pro změnu této hodnoty (kam ukazuje myptr) char * const myptr = &char_a; Konstantní ukazatel na znak Hodnotu ukazatele nelze změnit (obsah myptr) const char * const myptr = &char_a; Konstatní ukazatel na konstantní hodnotu Constant-Pointers-and-Pointers-to-Constants.htm Principy OOP - Zapouzdření
57 Výpis na standardní výstup Z C znáte printf("dnes je %d. zari", den); V C++ na výstup zapíšete takto: Analogie <stdio.h> Operátor << poskytuje objektu cout řetězcovou reprezentaci argumentu těsně za ním Standardní výstup je objekt cout Práci se standardním výstupem budeme dělat detailněji v 4. přednášce Principy OOP - Zapouzdření
58 Shrnutí Konstruktor je metoda pro inicializaci objektu pozor na defaultní konstruktor Zapouzdření skrývá vnitřní data a logiku umožňuje abstrahovat uživatele od aktuální implementace Používejte co nejčastěji const číselné konstanty parametry funkce/metody, celá metoda Principy OOP - Zapouzdření
59 Zdroje StackOverflow Q&A C++ FAQ Odpovědi na často kladené otázky. cplusplus.com Dokumentace C++ a standardní knihovny. cppreference.com Dokumentace C++ a standardní knihovny, obsahuje i dokumentaci k C++11. C++ Coding Standards 101 Rules, Guidelines, and Best practices Effective C++ 55 Specific Ways to Improve Your Programs and Designs Exceptional C++ 47 Engineering Puzzles, Programming Problems, and Solutions Modern C++ Generic Programming and Design Patterns Applied Principy OOP - Zapouzdření
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íceUložené procedury Úvod ulehčit správu zabezpečení rychleji
Uložené procedury Úvod Uložená procedura (rutina) je sada příkazů SQL, které jsou uložené na databázovém serveru a vykonává se tak, že je zavolána prostřednictvím dotazu názvem, který jim byl přiřazen
VíceJazyk 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íce3 Vývojová prostředí, základní prvky jazyka Java, konvence jazyka Java
3 Vývojová prostředí, základní prvky jazyka Java, konvence jazyka Java Studijní cíl V tomto bloku navážeme na konec předchozího bloku a seznámíme se s vývojovými prostředími, které se nejčastěji používají
Víceúčetních informací státu při přenosu účetního záznamu,
Strana 6230 Sbírka zákonů č. 383 / 2009 Částka 124 383 VYHLÁŠKA ze dne 27. října 2009 o účetních záznamech v technické formě vybraných účetních jednotek a jejich předávání do centrálního systému účetních
Více-1- N á v r h ČÁST PRVNÍ OBECNÁ USTANOVENÍ. 1 Předmět úpravy
-1- I I. N á v r h VYHLÁŠKY ze dne 2009 o účetních záznamech v technické formě vybraných účetních jednotek a jejich předávání do centrálního systému účetních informací státu a o požadavcích na technické
VíceCílem kapitoly je seznámit studenta se strukturou programu a jeho překladem.
Nadpis kapitoly Cílem kapitoly je seznámit studenta se strukturou programu a jeho překladem. Klíčové pojmy: Překladač, editor, compiler, linker. Úvod Abychom mohly využívat našich napsaných programů, musíme
VícePokyn D - 293. Sdělení Ministerstva financí k rozsahu dokumentace způsobu tvorby cen mezi spojenými osobami
PŘEVZATO Z MINISTERSTVA FINANCÍ ČESKÉ REPUBLIKY Ministerstvo financí Odbor 39 Č.j.: 39/116 682/2005-393 Referent: Mgr. Lucie Vojáčková, tel. 257 044 157 Ing. Michal Roháček, tel. 257 044 162 Pokyn D -
VíceStruktura 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íceJazyk C# přednáška 01. Fakulta elektrotechniky a informatiky Univerzita Pardubice 2014/2015
Jazyk C# přednáška 01 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2014/2015 Přednáší Ing. Jan Hřídel (@h0nza) jan.hridel@upce.cz 466 037 178 V pochvalných i kritických tweetech z přednášky
VíceZákladní stavební prvky algoritmu
Základní stavební prvky algoritmu Podmínka. Cyklus for, while, do-while. Funkce, metody. Přetěžování. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká
VíceAlgoritmizace a programování
Pátek 14. října Algoritmizace a programování V algoritmizaci a programování je důležitá schopnost analyzovat a myslet. Všeobecně jsou odrazovým můstkem pro řešení neobvyklých, ale i každodenních problémů.
Vícefunkční na dual-sim telefonech možnost přesměrovat příchozí hovory možnost nastavení více telefonních čísel pro případ, že je jedno nedostupné
Analyzujte, navrhněte a implementujte aplikaci pro sledování spánku dětí Chůvička pro telefony na platformě Android. Od existujících aplikací se bude aplikace odlišovat tímto: funkční na dual-sim telefonech
VíceHotelová škola, Obchodní akademie a Střední průmyslová škola Teplice,Benešovo náměstí 1, příspěvková organizace
Hotelová škola, Obchodní akademie a Střední průmyslová škola Teplice,Benešovo náměstí 1, příspěvková organizace VZDĚLÁVACÍ MATERIÁL ZPRACOVÁN V RÁMCI PROJEKTU EU PENÍZE STŘEDNÍM ŠKOLÁM - OPVK 1.5 Registrační
VíceZadávání tiskových zakázek prostřednictvím JDF a Adobe Acrobat Professional
Zadávání tiskových zakázek prostřednictvím JDF a Adobe Acrobat Professional Nejčastěji se o JDF hovoří při řízení procesů v tiskových provozech. JDF se však má stát komunikačním prostředkem mezi všemi
VíceManuál Kentico CMSDesk pro KDU-ČSL
Manuál Kentico CMSDesk pro KDU-ČSL 2011 KDU-ČSL Obsah 1 Obecně... 3 1.1 Přihlašování... 3 1.2 Uživatelské prostředí... 4 2 Stránky... 4 2.1 Vytvoření nové stránky... 4 2.1.1 Texty... 7 2.1.2 Styly textu...
VíceCelková částka pro tuto výzvu: 127 000 000 Kč v rozdělení dle tabulky č.1
Ministerstvo práce a sociálních věcí ČR, odbor řízení pomoci z Evropského sociálního fondu, vyhlašuje výzvu k předkládání žádostí o finanční podporu v rámci Programu Iniciativy Společenství EQUAL. Identifikace
VíceI. Základní pojmy a zkratky. - provedení koordinační funkční zkoušky EPS a navazujících zařízení,
TECHNICKÉ A ORGANIZAČNÍ PODMÍNKY pro připojení elektrické požární signalizace prostřednictvím zařízení dálkového přenosu na pult centralizované ochrany operačního střediska Hasičského záchranného sboru
VíceVÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
VíceMaturitní témata z předmětu Programování a databázové systémy. pro šk. rok 2012/2013
Maturitní témata z předmětu Programování a databázové systémy pro šk. rok 2012/2013 1. Základy - proměnné a datové typy a) Co je to proměnná, co znamená deklarace proměnné, a popište syntaxi deklarace
VíceProgramová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
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 Vstupní znalosti Podmínky, cykly Funkce, Pole, třídění Retězce
VíceZákladní teze prováděcích právních předpisů. navrhované právní úpravy
VI. Základní teze prováděcích právních předpisů navrhované právní úpravy Návrh zákona, kterým se mění zákon č. 182/2006 Sb., o úpadku a způsobech jeho řešení (insolvenční zákon), ve znění pozdějších předpisů,
VíceAlgoritmizace a programování
Algoritmizace a programování V algoritmizaci a programování je důležitá schopnost analyzovat a myslet. Všeobecně jsou odrazovým můstkem pro řešení neobvyklých, ale i každodenních problémů. Naučí nás rozdělit
VíceŠkolní řád ZŠ a MŠ Chalabalova 2 pro školní rok 2014-2015
Školní řád ZŠ a MŠ Chalabalova 2 pro školní rok 2014-2015 Obecná ustanovení Na základě ustanovení 30, odst. 1) zákona č. 561/2004 Sb. o předškolním, základním středním, vyšším odborném a jiném vzdělávání
VíceSeriál: Management projektů 7. rámcového programu
Seriál: Management projektů 7. rámcového programu Část 4 Podpis Konsorciální smlouvy V předchozím čísle seriálu o Managementu projektů 7. rámcového programu pro výzkum, vývoj a demonstrace (7.RP) byl popsán
VícePREPROCESOR 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íceMarketing. Modul 3 Zásady marketingu
Marketing Modul 3 Zásady marketingu Výukový materiál vzdělávacích kurzů v rámci projektu Zvýšení adaptability zaměstnanců organizací působících v sekci kultura Tento materiál je spolufinancován z Evropského
VícePříloha č. 54. Specifikace hromadné aktualizace SMS-KLAS
Název projektu: Redesign Statistického informačního systému v návaznosti na zavádění egovernmentu v ČR Příjemce: Česká republika Český statistický úřad Registrační číslo projektu: CZ.1.06/1.1.00/07.06396
Vícepř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íceObchodní podmínky. 1. Úvodní ustanovení. 2. Cena zboží a služeb a platební podmínky
Obchodní podmínky 1. Úvodní ustanovení 1.1 Tyto obchodní podmínky upravují v souladu s ustanovením 1751 odst. 1 zákona č. 89/2012 Sb., Občanského zákoníku (dále jen OZ ) vzájemná práva a povinnosti smluvních
VíceZADÁVACÍ DOKUMENTACE 1) Identifikace zadavatele 2) P esné vymezení p edm tu zakázky a požadavk zadavatele
ZADÁVACÍ DOKUMENTACE Výzva k podání nabídek do zadávacího řízení na generálního dodavatele stavby Provozní a školicí středisko firmy Faster CZ spol. s r.o. v Brně Maloměřicích Nejedná se o zadávací řízení
VíceTekla Structures Multi-user Mode
Tekla Structures Multi-user Mode Úvod V programu Tekla Structures můžete pracovat buď v režimu jednoho uživatele (single-user) nebo v režimu sdílení modelu (multi-user mode). Sdílení modelu umožňuje současný
Víceměstské části Praha 3 pro rok 2016 připravila
městské části Praha 3 pro rok 2016 připravila městské části Praha 3 pro rok 2016 - Návrh projektu k 3. 2. 2016 Obsah Obsah... 2 1. KONTEXT... 3 2. CÍLE A VÝSTUPY PROJEKTU... 4 3. POSTUP PŘÍPRAVY PARTICIPAČNÍHO
VíceVšeobecné podmínky provozu sběrných míst kolektivního systému Eltma
Všeobecné podmínky provozu sběrných míst kolektivního systému Eltma 1. ZŘÍZENÍ SM Kolektivní systém 1.1. ELT Management Company Czech Republic s.r.o. ( Eltma ) je provozovatelem neziskového kolektivního
VícePRAVIDLA soutěže COOP DOBRÉ RECEPTY Jarní probuzení
PRAVIDLA soutěže COOP DOBRÉ RECEPTY Jarní probuzení s konáním 1. 4. 2016 30. 6. 2016 v ČR (www.coopdobrerecepty.cz) 1. Organizátor soutěže a soutěžní období Organizátor soutěže, společnost CCV, s.r.o.,
VícePravidla o poskytování a rozúčtování plnění nezbytných při užívání bytových a nebytových jednotek v domech s byty.
Pravidla o poskytování a rozúčtování plnění nezbytných při užívání bytových a nebytových jednotek v domech s byty. Preambule Rada města Slavičín se usnesla podle 102 odst.3 zákona č. 128/2000Sb., vydat
VíceOperace nad celými tabulkami
10 Operace nad celými tabulkami V předchozích kapitolách jsme se převážně zabývali sloupci tabulek. V této kapitole se naučíme provádět některé operace, které ovlivňují tabulky jako celek. Probereme vlastnosti
VíceZadávací dokumentace
Zadávací dokumentace Název veřejné zakázky: Fotovoltaická elektrárna Cítov Identifikační údaje zadavatele: Obec Cítov Cítov 203 277 04 Cítov IČ: 00236764 Osoba oprávněná jednat za zadavatele: Ing. Marie
Víceuzavírají podle ustanovení 1746 odst. 2 zákona č. 89/2012 Sb., občanský zákoník (dále jen občanský zákoník ), tuto
Statutární město Přerov IČ: 003 01 825 DIČ: CZ00301825 se sídlem Bratrská 709/34, Přerov I-Město, 750 02 Přerov zastoupené náměstkem primátora Pavlem Košutkem (dále jako Město ) MMPr/SML/2183/2015 a Česká
VíceINFORMACE O ZPRACOVÁNÍ KLIENTSKÝCH ÚDAJŮ
INFORMACE O ZPRACOVÁNÍ KLIENTSKÝCH ÚDAJŮ Vážená klientko, vážený kliente, společnost Cataps s.r.o. (dále jen KB SmartPay) si velmi váží Vaší důvěry v její produkty a služby a v souladu se zákonnými požadavky
VíceAutorizovaným techniků se uděluje autorizace podle 5 a 6 autorizačního zákona v těchto oborech a specializacích:
Společné stanovisko Ministerstva pro místní rozvoj a České komory autorizovaných inženýrů a techniků činných ve výstavbě k rozsahu oprávnění autorizovaného technika pro výkon vybraných činností ve výstavbě
VíceOrganizační řád základní školy
Základní škola a mateřská škola Čáslavice, č. 110, 675 24 Čáslavice Organizační řád základní školy Č. j.: Část: Školní řád Vypracoval: Pedagogická rada Schválil: 3.9.2015 - pedagogická rada, Projednáno
VíceVšeobecné obchodní podmínky pro použití internetové aplikace team assistant
Všeobecné obchodní podmínky pro použití internetové aplikace team assistant Podmínky používání Služeb společnosti Perspia a.s. platné a účinné od 1. 3. 2011. 1. Váš vztah se společností Perspia a.s. 1.1
VíceZákon o elektronickém podpisu
Zákon o elektronickém podpisu Zaručený elektronický podpis Je jednoznačně spojen s podepisující osobou (jen fyzická osoba!); umožňuje identifikaci podepisující osoby ve vztahu k datové zprávě; byl vytvořen
VíceFOND VYSOČINY NÁZEV GP
RF-04-2009-01, př. 1upr1 Počet stran: 6 FOND VYSOČINY Výzva k předkládání projektů vyhlášená v souladu se Statutem účelového Fondu Vysočiny 1) Název programu: NÁZEV GP Grantový program na podporu 2) Celkový
VícePravidla pro poskytování informací podle zákona č. 106/1999 Sb., v platném znění
VNITŘNÍ SMĚRNICE č. 6 /2006 Pravidla pro poskytování informací podle zákona č. 106/1999 Sb., v platném znění (Úplné znění ve znění dodatku č. 1 ze dne 26.5.2010, dodatku č. 2 ze dne 21.12.2011 a dodatku
VíceVŠEOBECNÉ PODMÍNKY PRO POSKYTOVÁNÍ VEŘEJNĚ DOSTUPNÝCH SLUŽEB ELEKTRONICKÝCH KOMUNIKACÍ PROSTŘEDNICTVÍM VEŘEJNÝCH TELEFONNÍCH AUTOMATŮ
VŠEOBECNÉ PODMÍNKY PRO POSKYTOVÁNÍ VEŘEJNĚ DOSTUPNÝCH SLUŽEB ELEKTRONICKÝCH KOMUNIKACÍ PROSTŘEDNICTVÍM VEŘEJNÝCH TELEFONNÍCH AUTOMATŮ společnosti O2 Czech Republic a.s. (dále jen Všeobecné podmínky ) vydané
VíceObalové hospodářství
Část F Obalové hospodářství podle zákona č. 477/2001 Sb., o obalech Obsah Povinnosti firem v podnikové ekologii 1. Úvod...1 2. Základní pojmy...3 3. Povinné osoby...5 4. Přehled povinností...7 5. Právní
VíceVšeobecné obchodní podmínky
Všeobecné obchodní podmínky I. Úvodní ustanovení 1. Tyto Všeobecné obchodní podmínky (dále též jen VOP ), vydané společností ECOBAT s.r.o., se sídlem Praha 6, Soborská 1302/8, PSČ 160 00, IČ: 267 25 967,
VíceTestovací aplikace Matematika není věda
Testovací aplikace Matematika není věda Příručka k http://matematika.komenacek.cz/ Příručka k portálu http://matematika.komenacek.cz/ 2 Uživatelská příručka k portálu 202 BrusTech s.r.o. Všechna práva
VíceVýzva k podání nabídky
Výzva k podání nabídky Veřejný zadavatel, obec Bohuňovice, si Vás dovoluje vyzvat k podání nabídky na vypracování projektové dokumentace na akci Modernizace a intenzifikace ČOV Bohuňovice, která je podporována
VíceZadávací dokumentace pro podlimitní veřejnou zakázku na dodávky
Zadávací dokumentace pro podlimitní veřejnou zakázku na dodávky Zjednodušené podlimitní řízení Název zakázky: Pořízení úklidového stroje na snížení prašnosti v obci Hvozdná Zadavatel zakázky: Obec Hvozdná
VíceV 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.
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. MENU Tvorba základního menu Ikona Menu umožňuje vytvořit
VíceProgramová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íceORGANIZAČNÍ ŘÁD ŠKOLY
Církevní husitská základní umělecká škola Harmonie, o.p.s. se sídlem Bílá 1, 160 00 Praha 6 - Dejvice ORGANIZAČNÍ ŘÁD ŠKOLY část: 2. ŠKOLNÍ ŘÁD ZUŠ Č.j.: 8/2012 Vypracoval: Schválil: Pedagogická rada projednala
VíceVYR-32 POKYNY PRO SPRÁVNOU VÝROBNÍ PRAXI - DOPLNĚK 6
VYR-32 POKYNY PRO SPRÁVNOU VÝROBNÍ PRAXI - DOPLNĚK 6 Platnost od 1.1.2004 VÝROBA PLYNŮ PRO MEDICINÁLNÍ ÚČELY VYDÁNÍ PROSINEC 2003 1. Zásady Tento doplněk se zabývá průmyslovou výrobou medicinálních plynů,
Více5.6.6.3. Metody hodnocení rizik
5.6.6.3. Metody hodnocení rizik http://www.guard7.cz/lexikon/lexikon-bozp/identifikace-nebezpeci-ahodnoceni-rizik/metody-hodnoceni-rizik Pro hodnocení a analýzu rizik se používají různé metody. Výběr metody
VíceMĚSTO BENEŠOV. Rada města Benešov. Vnitřní předpis č. 16/2016. Směrnice k zadávání veřejných zakázek malého rozsahu. Čl. 1. Předmět úpravy a působnost
MĚSTO BENEŠOV Rada města Benešov Vnitřní předpis č. 16/2016 Směrnice k zadávání veřejných zakázek malého rozsahu I. Obecná ustanovení Čl. 1 Předmět úpravy a působnost 1) Tato směrnice upravuje závazná
Více29 Evidence smluv. Popis modulu. Záložka Evidence smluv
29 Evidence smluv Uživatelský modul Evidence smluv slouží ke správě a evidenci smluv organizace s možností připojení vlastní smlouvy v elektronické podobě včetně přidělování závazků ze smluv jednotlivým
VíceMultifunkční dům Litvínovice
KVALIFIKAČNÍ DOKUMENTACE K VEŘEJNÉ ZAKÁZCE ZADÁVANÉ DLE ZÁKONA Č. 137/2006 SB., O VEŘEJNÝCH ZAKÁZKÁCH, VE ZNĚNÍ POZDĚJŠÍCH PŘEDPISŮ (DÁLE JEN ZÁKON") 1. NÁZEV VEŘEJNÉ ZAKÁZKY Název veřejné zakázky: Multifunkční
VíceVNITŘNÍ ŘÁD ŠKOLNÍ DRUŽINY
Č.j.: MZS/0316/2015 Vypracovala: Schválil: Masarykova základní škola Plzeň, Jiráskovo náměstí 10, příspěvková organizace VNITŘNÍ ŘÁD ŠKOLNÍ DRUŽINY Dokument nabývá platnosti ode dne: 1. 1. 2016 Spisový/skartační
VíceSměrnice o schvalování účetní závěrky
Město Česká Kamenice, náměstí Míru 219, Česká Kamenice Směrnice o schvalování účetní závěrky Zpracovatel: Městský úřad Česká Kamenice Finanční odbor Předkladatel: Městský úřad Česká Kamenice Finanční odbor
VíceKočí, R.: Účelové pozemní komunikace a jejich právní ochrana Leges Praha, 2011
Kočí, R.: Účelové pozemní komunikace a jejich právní ochrana Leges Praha, 2011 Účelové komunikace jsou důležitou a rozsáhlou částí sítě pozemních komunikací v České republice. Na rozdíl od ostatních kategorií
VíceZadávací dokumentace
Zadávací dokumentace zpracovaná v souladu se zákonem č. 137/2006 Sb., o veřejných zakázkách, ve znění pozdějších předpisů (dále jen zákon ), pro nadlimitní veřejnou zakázku na dodávky zadávanou v otevřeném
VíceRECTE.CZ, s.r.o., Matiční 730/3, 702 00 Ostrava Moravská Ostrava
Seznam vyzvaných zájemců podle rozdělovníku Ostrava, vypraveno dne: 4. 12. 2014 Písemná výzva k předložení nabídky k veřejné zakázce na zhotovitele stavby Chodníky od ul. Plavební až do Frýdku Zadavatel:
VíceObchodní podmínky PRESPLAST s.r.o.
Obchodní podmínky PRESPLAST s.r.o. I. ÚVODNÍ USTANOVENÍ Obchodní podmínky. Obchodní společnost PRESPLAST s.r.o., se sídlem Česká Třebová, Kubelkova 497, PSČ 560 02, IČ 27502317, společnost zapsaná v obchodním
VíceKUMSP00SGGBK Veřejná zakázka č. 219/2015
KUMSP00SGGBK Veřejná zakázka č. 219/2015 Smlouva o poskytnutí prostoru v denním tisku pro vydání Moravskoslezských listů dle 1746 odst. 2 zákona č. 89/2012 Sb., občanský zákoník, ve znění pozdějších předpisů
VíceZADÁVACÍ DOKUMENTACE. Pořízení a provoz konsolidované IT infrastruktury
ZADÁVACÍ DOKUMENTACE k nadlimitní veřejné zakázce na dodávky zadávané v otevřeném řízení dle 21 odst. 1 písm. a) a 27 zákona č. 137/2006 Sb., o veřejných zakázkách, ve znění pozdějších předpisů (dále jen
VíceMiroslav Kunt. Srovnávací přehled terminologie archivních standardů ISAD(G), ISAAR(CPF) a české archivní legislativy
Příloha č. 2 k výzkumné zprávě projektu VE20072009004 Miroslav Kunt Srovnávací přehled terminologie archivních standardů ISAD(G), ISAAR(CPF) a české archivní legislativy Pozn.: Za českou archivní legislativu
VíceVšeobecné pojistné podmínky pro pojištění záruky pro případ úpadku cestovní kanceláře
Všeobecné pojistné podmínky pro pojištění záruky pro případ úpadku cestovní kanceláře Článek 1 Úvodní ustanovení Pro pojištění záruky pro případ úpadku cestovní kanceláře platí příslušná ustanovení občanského
Více5. Ř etězce (třída String)
Řetězce (třída String) strana 49 5. Ř etězce (třída String) Pro práci s řetězci (tj. s posloupností znaků) se v jazyce Java používá třída String. Třída String slouží k ukládání konstantních řetězců, jejichž
VíceTISK ODBORNÝCH VÝUKOVÝCH TEXTŮ PRO PROJEKT VZDĚLÁVÁNÍ NELÉKAŘŮ DODATEČNÉ INFORMACE Č. 1
TISK ODBORNÝCH VÝUKOVÝCH TEXTŮ PRO PROJEKT VZDĚLÁVÁNÍ NELÉKAŘŮ veřejná zakázka malého rozsahu zadávaná mimo režim zákona o veřejných zakázkách, v platném znění DODATEČNÉ INFORMACE Č. 1 ZADAVATEL Název:
VíceKUPNÍ SMLOUVA. Dodávka 3D tiskárny. I. Smluvní strany. e-mail: II. ZÁKLADNÍ USTANOVENÍ
KUPNÍ SMLOUVA Dodávka 3D tiskárny I. Smluvní strany 1. Střední odborná škola, Frýdek-Místek, příspěvková organizace Se sídlem: Lískovecká 2089, 738 01 Frýdek-Místek Zastoupena: Ing. Pavlem Řezníčkem IČ:
VíceSmlouvu o nájmu bytu č..
1) Městská část Praha 5 se sídlem Praha 5, nám. 14. října 4, IČ 00063 631 jednající statutárním zástupcem MČ Praha 5 na straně jedné jako pronajímatel a 2). datum narození: dosud bytem: na straně druhé
VíceReklamační řád. Uplatnění reklamace
Reklamační řád Obchodní společnosti t - italy s.r.o., se sídlem, Slovenská 891/5, Vinohrady, 120 00, Praha 2, IČO: 28943619, DIČ: CZ28943619, zapsaná v obchodním rejstříku vedeném Městským soudem v Praze
Víceobecně závazné vyhlášky o vedení technické mapy obce A. OBECNÁ ČÁST Vysvětlení navrhované právní úpravy a jejích hlavních principů
O D Ů V O D N Ě N Í obecně závazné vyhlášky o vedení technické mapy obce A. OBECNÁ ČÁST Vysvětlení navrhované právní úpravy a jejích hlavních principů 1. Definice technické mapy Technickou mapou obce (TMO)
VíceSmlouva o dílo ÚZSVM ÚP Plzeň č. / 2016
Příloha č. 2 k Výzvě k podání nabídky a prokázání splnění kvalifikace Smlouva o dílo ÚZSVM ÚP Plzeň č. / 2016 uzavřená dle ustanovení 2586 a násl. zákona č. 89/2012 Sb., občanský zákoník (dále jen občanský
VícePravidla pro poskytování informací podle zákona č. 106/1999 Sb., v platném znění
Město Blovice VNITŘNÍ SMĚRNICE č. 2 /2012 Pravidla pro poskytování informací podle zákona č. 106/1999 Sb., v platném znění Článek 1 Úvodní ustanovení Tato směrnice stanoví pravidla pro poskytování informací
VíceSTANDARD 3. JEDNÁNÍ SE ZÁJEMCEM (ŽADATELEM) O SOCIÁLNÍ SLUŽBU
STANDARD 3. JEDNÁNÍ SE ZÁJEMCEM (ŽADATELEM) O SOCIÁLNÍ SLUŽBU CÍL STANDARDU 1) Tento standard vychází ze zákona č. 108/2006 Sb., o sociálních službách (dále jen Zákon ) a z vyhlášky č. 505/2006 Sb., kterou
VíceVyužití EduBase ve výuce 10
B.I.B.S., a. s. Využití EduBase ve výuce 10 Projekt Vzdělávání pedagogů v prostředí cloudu reg. č. CZ.1.07/1.3.00/51.0011 Mgr. Jitka Kominácká, Ph.D. a kol. 2015 1 Obsah 1 Obsah... 2 2 Úvod... 3 3 Autorský
VíceObjektově orientované databáze
Objektově orientované databáze Miroslav Beneš Obsah přednášky Motivace Vlastnosti databázových systémů Logické datové modely Co potřebujeme modelovat? Identifikace entit v~relačních SŘBD Co je to objektová
VíceObchodní podmínky společnosti Amazing Travel, s.r.o.
Obchodní podmínky společnosti Amazing Travel, s.r.o. ÚVODNÍ USTANOVENÍ Společnost Amazing Travel,s.r.o.., IČO: 05020255, se sídlem Lidická 700/19, Veveří, 602 00 Brno, zapsaná v obchodním rejstříku vedeném
VíceVÝZVA A ZADÁVACÍ DOKUMENTACE ZAKÁZKY MIMO REŽIM ZÁKONA č. 137/2006 Sb.
VÝZVA A ZADÁVACÍ DOKUMENTACE ZAKÁZKY MIMO REŽIM ZÁKONA č. 137/2006 Sb. 1. Identifikační údaje zadavatele: Zadavatel ve smyslu zákona: Právní forma: Název a sídlo zadavatele: veřejný zadavatel obec Městys
VíceKritéria zelených veřejných zakázek v EU pro zdravotnětechnické armatury
Kritéria zelených veřejných zakázek v EU pro zdravotnětechnické armatury Zelené veřejné zakázky jsou dobrovolným nástrojem. V tomto dokumentu jsou uvedena kritéria EU, která byla vypracována pro skupinu
Více2. Vymezení předmětu veřejné zakázky
K čj :372-4/2012/DP - ÚVN V Praze dne: 19.07.2012 Výtisk číslo: 1 Počet listů: 11 Počet příloh: 2 ZADÁVACÍ DOKUMENTACE pro otevřené, podlimitní zadávací řízení na zakázku zadávanou dle zákona č. 137/2006
VíceVÝZVA K PODÁNÍ NABÍDKY
VÝZVA K PODÁNÍ NABÍDKY Název zakázky: Sociální služby Uherské Hradiště, p.o. DZP Uherský Brod oprava střechy Číslo zakázky: Forma zadání: VZ/2014/2/06 veřejná zakázka malého rozsahu 1. Identifikační údaje
VíceTEXT VÝZVY K PODÁNÍ NABÍDKY A PROKÁZÁNÍ KVALIFIKACE
TEXT VÝZVY K PODÁNÍ NABÍDKY A PROKÁZÁNÍ KVALIFIKACE Název veřejné zakázky: CENTRUM POLYMERNÍCH MATERIÁLŮ A TECHNOLOGIÍ OTTY WICHTERLE DODÁVKA REGÁLŮ Identifikační údaje zadavatele Obchodní firma nebo název
Více1. Úvodní ustanovení. 2. Uživatelský účet
1. Úvodní ustanovení 1.1. Tyto obchodní podmínky (dále jen obchodní podmínky") společnosti Petr Vodička, se sídlem Březová 14, 696 18 Lužice, identifikační číslo: 69719951, podnikatele (dále jen prodávající")
VíceVýzva zájemcům k podání nabídky a Zadávací dokumentace
Výzva zájemcům k podání nabídky a Zadávací dokumentace dle 6 a 18 odst.5 Zákona č.137/2006 Sb. o veřejných zakázkách (dále jen Zákon ) a Závazných pokynů pro žadatele a příjemce podpory v OPŽP na veřejnou
VíceVeřejnoprávní smlouva o poskytnutí investiční dotace č. 1/2016
Veřejnoprávní smlouva o poskytnutí investiční dotace č. 1/2016 Zastupitelstvo města Nová Role dle usnesení č. 10/02-4) ze dne 30. 12. 2015 a dle 85 odst. c zákona 128/2000 Sb., o obcích, rozhodlo o přidělení
VíceRozšířená nastavení. Kapitola 4
Kapitola 4 Rozšířená nastavení 4 Nástroje databáze Jak již bylo zmíněno, BCM používá jako úložiště veškerých informací databázi SQL, která běží na všech lokálních počítačích s BCM. Jeden z počítačů nebo
VícePardubický kraj Komenského náměstí 125, Pardubice 532 11. SPŠE a VOŠ Pardubice-rekonstrukce elektroinstalace a pomocných slaboproudých sítí
Pardubický kraj Komenského náměstí 125, Pardubice 532 11 Veřejná zakázka SPŠE a VOŠ Pardubice-rekonstrukce elektroinstalace a pomocných slaboproudých sítí Zadávací dokumentace 1. Obchodní podmínky, platební
VíceDopady NOZ na občanská sdružení. Mgr. Marcela Tomaščáková březen 2015
Dopady NOZ na občanská sdružení Mgr. Marcela Tomaščáková březen 2015 Co se stalo dne 1. 1. 2014 vstoupil v účinnost nový občanský zákoník (zák. č. 89/2012 Sb.) + doprovodná legislativa (např. zákon o veřejných
VíceOprava tří dílčích střech na BD Horácké nám. 6,7 v Brně Řečkovicích stavební úpravy.
Společenství vlastníků Horácké náměstí 6 a 7, Horácké nám. 7, Brno-Řečkovice Dne 15.1.2016 Věc: Výzva k podání nabídky (zadávací dokumentace) Společenství vlastníků Horácké náměstí 6 a 7, Horácké nám.
VíceObměna výdejové části stravovacího systému
Lhotecká 559/7, 143 01 Praha 4 tel. 974828343 e-mail: trapp@polac.cz ZADÁVACÍ DOKUMENTACE Obměna výdejové části stravovacího systému Zadávací dokumentace strana 1 (celkem 11) Zadávací dokumentace k veřejné
VíceV případě nejasností nás kontaktujte buď na e-mailu info@ nemeckobezhranic.cz a nebo nemeckobezhranic@seznam.cz.
PODMÍNKY PRODEJE Vážení zákazníci... Do Německa jezdíme každý týden, většinou v pátek. Veškeré objednávky tedy učiněné do čtvrtka 20hodin, budou nakoupeny následující den a odeslány v pondělí. V případě,
VícePROČ VĚDECKÁ ŠKOLA A JAK SE K NÍ DOSTAT? WHY SCIENTIFIC SCHOOL AND HOW TO ACHIEVE IT?
PROČ VĚDECKÁ ŠKOLA A JAK SE K NÍ DOSTAT? WHY SCIENTIFIC SCHOOL AND HOW TO ACHIEVE IT? Abstrakt Cyril Klimeš Univerzita Konstantina Filozofa v Nitře Fakulta přírodních věd, katedra informatiky, e-mail cklimes@ukf.sk
VíceVšeobecné obchodní podmínky
Všeobecné obchodní podmínky Kontaktní údaje prodávajícího Název: Paliva Větrovský s.r.o. Sídlo: Lilka 624, Příbram VI-Březové Hory, 261 01 Příbram Identifikační číslo: 03605035 Daňové identifikační číslo:
VíceZADÁVACÍ DOKUMENTACE
ZADÁVACÍ DOKUMENTACE pro zadávací řízení na veřejnou zakázku malého rozsahu zadávanou podle Pravidel Rady kraje Vysočina pro zadávání veřejných zakázek v podmínkách kraje Vysočina a příspěvkových organizací
VícePODMÍNKY PRONÁJMU BEZPEČNOSTNÍ SCHRÁNKY ARTESA SAFE DEPOSIT s.r.o.
1. ÚVODNÍ USTANOVENÍ 1.1. Artesa Safe Deposit s.r.o. (dále jen Pronajímatel) vydává tyto Podmínky pronájmu bezpečnostní schránky (dále jen Podmínky ), k úpravě vzájemných práv a povinností mezi Pronajímatelem
Více