Jakub Čermák Microsoft Student Partner

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

Download "Jakub Čermák <jakub@jcermak.cz> http://www.jcermak.cz. Microsoft Student Partner"

Transkript

1 Jakub Čermák Microsoft Student Partner

2 Úvod, příklady použití, trocha teorie Struktura aplikace Typy obecně, primitivní typy, speciální typy Podmínky, cykly, namespaces Třídy, vlastní typy Hodnotové typy Managed halda, referenční objekty Stack semantics pro referenční objekty Polymorfismus Viditelnost

3 Nástupce Managed Extensions for C++ Vylepšení jazyka C++ nebo nový CLR jazyk? Standard ECMA-372 Přímé volání managed kódu z nativního a naopak Mixed assembly Visual Studio 2005 a výše (nebo Express edici)

4 Proč to použít Nativní knihovny, managed aplikace (nebo naopak) Nativní jádro, managed UI/komunikace/ Portování nativní aplikace do.netu (nebo naopak) Proč to nepoužít Komplikovanější syntax a použití (než C#) Interop režie, JIT (/clr:pure) Security (/clr:safe)

5 Vytvoření Vytvoření CLR projektu v New project Zapnout Project properties->clr support Funkce main int main(array<system::string ^> ^args) Header (*.h) a code soubory (*.cpp) Stdafx.h #include knihovních hlaviček

6

7 Úvod, příklady použití, trocha teorie Struktura aplikace Typy obecně, primitivní typy, speciální typy Podmínky, cykly, namespaces Třídy, vlastní typy Hodnotové typy Managed halda, referenční objekty Stack semantics pro referenční objekty Polymorfismus Viditelnost Dotazy

8 1. Primitivní typy Bool, (signed) char, wchar_t, double, float, int64, int, short, void (NE STRING!) Stejné pro managed i nativní 2. normální nativní typy nespravované GC C++ class, struct Stack / nativní halda 3. managed hodnotové Stack / managed halda 4. managed referenční Managed halda (vždy) 5. Pointery, handly, reference (další slide)

9 Stejné jako v C++, navíc: ^... Definice managed handlů ( pointerů na objekty managed haldy) Jen na celé objekty, mohou být null (nullptr) String ^a; %... Managed (tracking) reference I na jednotlivé membery, nemohou být null Managed handly i reference ukazují vždy na daný objekt; updatovány při přesunu objektu po paměti (např. GC) Gcnew obdoba new pro managed objekty

10

11 Jiná reprezentace i umístění (pole znaků vs. managed objekt).net: System.String C++: char *, std::string, CString char * Kopie: Marshal.StringToHGlobalAnsi, Marshal.PtrToStringAnsi Odkaz: pin_ptr<wchar_t *> PtrToStringChars(String ^) Konstruktor System::Stringu Std::string, CString přímá neexistuje

12 Nativní pole pořád stejné Managed pole Template třída cli::array [qualifiers] array<[qualifiers]type1[, dim]>^var = gcnew array<type2[, dim]>(val[,val...]) Type1 formální typ pole Type2 faktický typ pole (podpora kovariance) Dim dimenze pole Val,... jednotlivé rozměry pole Type1 i type2 musí být primitivní nebo managed Možnost jagged arrays: array<array<int> ^> ^jagged

13 array<int> ^jednodim_pole = gcnew array<int>(42); array<int> ^dalsi_pole = {1, 2, 3, 5}; array<int, 3> ^trojdim_pole = gcnew array<int, 3>(4,5,6);

14 Výčet hodnot Nativní enum Deklarace: Enum NazevEnumu { NE_prvek1, NE_prvek2,... }; Použití: NazevEnumu t = NE_prvek2; Managed enum Deklarace enum class NazevEnumu : typ { prvek1, prvek2,... } Typ = underlying type Použití: NazevEnumu t = NazevEnumu::prvek2;

15 Nativní: enum VectorVisTransformationType { VVT_LINEAR, VVT_ROOT, VVT_LOG }; Managed: public enum class day_char : char {sun, mon, tue, wed, thu, fri, sat};

16 Úvod, příklady použití, trocha teorie Struktura aplikace Typy obecně, primitivní typy, speciální typy Podmínky, cykly, namespaces Třídy, vlastní typy Hodnotové typy Managed halda, referenční objekty Stack semantics pro referenční objekty Polymorfismus Viditelnost

17 If, switch, while, for,... zůstávají For each iterace přes kolekci Iteruje přes IEnumerable Nebo jako C++ (operátor ++ a *) for each(typ iterační_proměnná in kolekce) {... } Možnost iterace přes reference změny hodnot v kolekci Výhoda oproti C# Neplést s for(int& x : my_array) v C++0x

18 std::vector<int> vect; //stvoříme std::vector vect.push_back(4); vect.push_back(6); // naplníme ho for each(int i in vect) // a vypíšeme Console::WriteLine(i); //... // + Demo ve VS: for each na nativním poli // vyvoření jagged array pomocí foreache array<array<int> ^> ^jagged = gcnew array<array<int> ^>(5); //vytvoření v vnějšího pole for each (array<int> ^% arr in jagged) arr = gcnew array<int>(6);

19 Příklad: Thread v System::Threading Oddělování namespaců pomocí :: Globální using using namespace System::Threading; Referencování assemblies #using <System.dll> Deklarace Namespace System { Namespace Threading {... } }

20 Úvod, příklady použití, trocha teorie Struktura aplikace Typy obecně, primitivní typy, speciální typy Podmínky, cykly, namespaces Třídy, vlastní typy Hodnotové typy Managed halda, referenční objekty Stack semantics pro referenční objekty Polymorfismus Viditelnost

21 Nic nového Omezení Nelze managed v nativní třídě Většinou nelze nativní typy v managed třídě

22 Stejné jako v C#, VB.NET Nulování hodnot Navíc jdou vytvářet na stacku i haldě Rozdíl oproti C# value class Struktura { }; value struct Struktura { }; Struct X class: defaultní viditelnost proměnných

23 Stejné jako v C#, VB.NET Pouze na managed haldě Přístup přes handly Dereference handlu: * Přístup k položkám: -> Alokace přes gcnew Trida ^t = gcnew Trida(); Jednoduchá dědičnost

24 Konstruktor Metoda s názvem jako třída Volána při deklaraci nebo gcnew Destruktor Bezparametrická metoda s názvem ~třída() Odpovídá Dispose Implikuje implementaci IDisposable Finalizer Berparametrická metoda s názvem!třída() Při ničení objektu GC

25 Trida t; // alokace referenčního typu jakoby na stacku Ve skutečnosti alokace na haldě Přiřazení (např. t1 = t2;) Vyžaduje operator = provádějící kopírování t1 i t2 jsou pořád různé objekty, jen se stejným obsahem! Předání funkci jako parametr pomocí copy ctoru Definovaná doba života Ne podle referencí (GC) Destruktor (Dispose) při vyjití z bloku

26 Omezení: 1 třída, rozhraní (dané.netem) Nekombinovat nativní a managed třídy Syntaktické odlišnosti: Klíčové slovo abstract u metody Ekvivalent =0 Override nebo new Povinně, za název metody při overridu nebo hidingu Abstract u třídy Abstraktní třída nepovinné, způsobuje warning Konstruktor VTable pointer ukazuje VŽDY na posl. potomka

27 Virtuals.cpp

28 public ref class Trida { public: static int X; protected private: int PP; };

29 Members: Třídy: Private public

30 MSDN referenční dokumentace, některé postupy - článek o C++/CLI Ebooky na českém MSDN Od úplných programátorských začátků Google, Bing

31 Úvod, příklady použití, trocha teorie Struktura aplikace Typy obecně, primitivní typy, speciální typy Podmínky, cykly, namespaces Třídy, vlastní typy Hodnotové typy Managed halda, referenční objekty Stack semantics pro referenční objekty Polymorfismus Viditelnost

32 Zatím neznámé datum Další vlastnosti objektového modelu Property, eventy, intefraces Generika + šablony Výjimky Pointery Užší spolupráce nativních a managed dat Pokročilé hostování managed assembly v čistě nativní aplikaci

33 WWW:

34 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Jakub Čermák <jakub@jcermak.cz> http://www.jcermak.cz. Microsoft Student Partner

Jakub Čermák <jakub@jcermak.cz> http://www.jcermak.cz. Microsoft Student Partner Jakub Čermák http://www.jcermak.cz Microsoft Student Partner Úvod, příklady použití, trocha teorie Struktura aplikace Typy obecně, primitivní typy, speciální typy Podmínky, cykly, namespaces

Více

Windows Live@edu - bezplatné služby pro školy. Jakub Vlček Live@edu Specialist Microsoft Corporation

Windows Live@edu - bezplatné služby pro školy. Jakub Vlček Live@edu Specialist Microsoft Corporation Windows Live@edu - bezplatné služby pro školy Jakub Vlček Live@edu Specialist Microsoft Corporation Co je Windows Live? Windows Live Fotky Kalendář Komunikace Sdílení Přístup odkudkoliv Soubory Kontakty

Více

Jakub Čermák jakub@jcermak.cz, http://www.jcermak.cz. Microsoft Student Partner

Jakub Čermák jakub@jcermak.cz, http://www.jcermak.cz. Microsoft Student Partner Jakub Čermák jakub@jcermak.cz, http://www.jcermak.cz Microsoft Student Partner Testy ve VS - úvod Unit testy Testy ve VS featury a pokročilejší funkce Web testy DB testy Visual Studio 2010 Nástroje: Visual

Více

Efektivní provoz koncových stanic

Efektivní provoz koncových stanic Efektivní provoz koncových stanic Jan Vávra SSP Datacenter Trendy a výzvy Trend a situace Více starostí Co chtějí uživatelé Překvapivě více pracovat. IT. Co udělá? Musí reagovat. Různorodá zařízení, mobilita,

Více

Lukáš Kubis. lukas.kubis@student-partners.com MSP pro VŠB-TU Ostrava

Lukáš Kubis. lukas.kubis@student-partners.com MSP pro VŠB-TU Ostrava Lukáš Kubis lukas.kubis@student-partners.com MSP pro VŠB-TU Ostrava Agenda Simplified Configuration Discovery Routing Service Other Features WCF Service Communication Service 1 Service 2 Caller Message

Více

Jakub Čermák jakub@jcermak.cz, http://www.jcermak.cz Microsoft Student Partner

Jakub Čermák jakub@jcermak.cz, http://www.jcermak.cz Microsoft Student Partner Jakub Čermák jakub@jcermak.cz, http://www.jcermak.cz Microsoft Student Partner Co paralelizace přinese? Jak paralelizovat? Jak si ušetřit práci? Jak nedělat běžné paralelizační chyby? Race condition, deadlocky

Více

Jak Vám partnerské programy pomohou v rozvoji podnikání. Víte, že můžete získat software v hodnotě tisíců USD za zlomek ceny?

Jak Vám partnerské programy pomohou v rozvoji podnikání. Víte, že můžete získat software v hodnotě tisíců USD za zlomek ceny? Jak Vám partnerské programy pomohou v rozvoji podnikání. Víte, že můžete získat software v hodnotě tisíců USD za zlomek ceny? Robert Havránek Channel Audience Manager Microsoft Partner Network a jeho výhody

Více

XNA Game Studio 3.1. Tomáš Herceg Microsoft Most Valuable Professional Microsoft Student Partner http://www.vbnet.cz

XNA Game Studio 3.1. Tomáš Herceg Microsoft Most Valuable Professional Microsoft Student Partner http://www.vbnet.cz XNA Game Studio 3.1 Tomáš Herceg Microsoft Most Valuable Professional Microsoft Student Partner http://www.vbnet.cz Agenda Úvod, motivace Struktura XNA Content pipeline Součásti XNA Paleta funkcí Herní

Více

Windows na co se soustředit

Windows na co se soustředit Windows na co se soustředit Lukáš Křovák Manažer divize Windows 1 Agenda Čemu se obchodně věnovat před uvedením Windows 8 Jak se mění trh počítačů Správa počítačů s Windows Intune Internet Explorer 9 Doplňkové

Více

Zabezpečení infrastruktury

Zabezpečení infrastruktury Zabezpečení infrastruktury Hybridní management Michal Horáček michal.horacek@microsoft.com 1 Any cloud Hybridní správa infrastruktury Any platform Hybridní IT management Zjednodušený management, který

Více

Sdílíme, a co vy? Ing. Eliška Pečenková Plzeňský kraj. Ing. Václav Koudele Microsoft

Sdílíme, a co vy? Ing. Eliška Pečenková Plzeňský kraj. Ing. Václav Koudele Microsoft Sdílíme, a co vy? Ing. Eliška Pečenková Plzeňský kraj Ing. Václav Koudele Microsoft Sdílíme, a co vy? Ing. Eliška Pečenková Plzeňský kraj Ing. Václav Koudele Microsoft Současná situace Nedostatek finančních

Více

System Center Operations Manager

System Center Operations Manager System Center Operations Manager Jan Vávra Solution Sales Professional Microsoft System Center Operations Manager End-to-End Service Management Proaktivní správa IT služeb Integrované monitorování distribuovaných

Více

Dnešní program. Jak síť využít. Přínosy sítě. Nasazení sítě. Proč síť

Dnešní program. Jak síť využít. Přínosy sítě. Nasazení sítě. Proč síť Dnešní program Proč síť Jak síť využít Přínosy sítě Nasazení sítě 2 SLADĚNÍ SE STRATEGIÍ FIRMY Každá firma má ve své strategii napsáno, že požaduje větší zapojení zaměstnanců do dění ve firmě. NASAZOVÁNÍ

Více

Skype for Business 2015

Skype for Business 2015 Skype for Business 2015 Martin Pekárek Premier Field Engineer Agenda Co je Skype for Business 2015? Revoluce nebo evoluce? Grafické rozhraní Lync nebo Skype? Konfigurace klientského grafického rozhraní

Více

Úvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39

Úvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39 Programování v C# Hodnotové datové typy, řídící struktury Petr Vaněček 1 / 39 Obsah přednášky Referenční datové typy datové položky metody přístupové metody accessory, indexery Rozhraní Pole 2 / 39 Třídy

Více

GDPR compliance v Cloudu. Jiří Černý CELA

GDPR compliance v Cloudu. Jiří Černý CELA GDPR compliance v Cloudu Jiří Černý CELA Jaké klíčové změny přináší GDPR? Soukromí jednotlivce Posílení práv jednotlivce: Přístup ke svým osobním údajům Oprava chyb Výmaz osobních údajů Omezení zpracování

Více

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní Základy jazyka C# 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 Obsah přednášky Architektura.NET Historie Vlastnosti

Více

Vývojář vs. správce IT

Vývojář vs. správce IT Vývojář vs. správce IT Vývojář: Vytvoří balíček aplikace a testuje pomocí Windows App Certification Kitu Správce IT: Zkontroluje aplikaci pomocí Windows App Certification Kitu Digitálně podepíše aplikaci

Více

Marketingová podpora pro partnery Microsoft

Marketingová podpora pro partnery Microsoft Alberto Sutton Director of Product Marketing, Nintex Member since 2005 Gold ISV competency Marketingová podpora pro partnery Microsoft Dita Bednárik Burianová 1 Cíle co-marketingu s partnery Hlavní cíl:

Více

Komentáře CISO týkající se ochrany dat

Komentáře CISO týkající se ochrany dat Komentáře CISO týkající se ochrany dat 2 ! 300 mld. autentizací přes Azure AD měsíčně 1 mld. updatů a kontrol zařízení s Windows 200 mld. emailů testovaných proti malwaru 18 mld. scanovaných webových

Více

David Bednárek Jakub Yaghob Filip Zavoral. http://data.ksi.ms.mff.cuni.cz/svn/nprg051pub/html/nprg051.html

David Bednárek Jakub Yaghob Filip Zavoral. http://data.ksi.ms.mff.cuni.cz/svn/nprg051pub/html/nprg051.html David Bednárek Jakub Yaghob Filip Zavoral http://data.ksi.ms.mff.cuni.cz/svn/nprg051pub/html/nprg051.html Interoperabilita C++ a C, dll, C++ a.net, C++/CLI Nové normy a knihovny C++11/14/17, lambda výrazy,

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

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

Rizika výběru cloudového poskytovatele, využití Cloud Control Matrix

Rizika výběru cloudového poskytovatele, využití Cloud Control Matrix Rizika výběru cloudového poskytovatele, využití Cloud Control Matrix ČSSI/VŠE: Jak pomáhat českým firmám a institucím při přechodu do cloudu? 12. Dec 2013 Zdeněk Jiříček Strategic Advisor External Consultant

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

Vzorové analýzy rizik zpracování v cloudu. Zdeněk Jiříček National Technology Officer Microsoft ČR

Vzorové analýzy rizik zpracování v cloudu. Zdeněk Jiříček National Technology Officer Microsoft ČR Vzorové analýzy rizik zpracování v cloudu Zdeněk Jiříček National Technology Officer Microsoft ČR Článek 32 Zabezpečení zpracování (os. údajů) (1) S přihlédnutím ke stavu techniky... povaze... rozsahu...

Více

Novinky v licencovaní a edíciách a ako to súvisí s System Center 2012

Novinky v licencovaní a edíciách a ako to súvisí s System Center 2012 Novinky v licencovaní a edíciách a ako to súvisí s System Center 2012 Kamil Juřík Learning Solutions Group Manager & Trainer Lead WBI Systems 6. 11. 2012 Agenda WS 2012 a licenční přehled Edice Standard

Více

PB161 Programování v jazyce C++ Přednáška 4

PB161 Programování v jazyce C++ Přednáška 4 PB161 Programování v jazyce C++ Přednáška 4 Dynamická alokace Kopírovací konstruktor Přetypování v C++ Nikola Beneš 12. října 2015 PB161 přednáška 4: dynamická alokace, kopírovací konstruktor, casting

Více

Datové typy v Javě. Tomáš Pitner, upravil Marek Šabo

Datové typy v Javě. Tomáš Pitner, upravil Marek Šabo Datové typy v Javě Tomáš Pitner, upravil Marek Šabo Úvod k datovým typům v Javě Existují dvě základní kategorie datových typů: primitivní a objektové Primitivní v proměnné je uložena přímo hodnota např.

Více

Optimalizace infrastruktury cesta ke kontrole IT. Pavel Salava Specialist Team Unit Lead Microsoft, s.r.o

Optimalizace infrastruktury cesta ke kontrole IT. Pavel Salava Specialist Team Unit Lead Microsoft, s.r.o Optimalizace infrastruktury cesta ke kontrole IT Pavel Salava Specialist Team Unit Lead Microsoft, s.r.o Agenda Maturity model Optimalizace infrastruktury Přínosy optimalizace pro společnost Co znamená

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

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

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 KAPITOLA 1 Úvod do programo vání v jazyce C++ 17 Základní pojmy 17 Proměnné a konstanty 18 Typy příkazů 18 IDE integrované vývojové

Více

Microsoft a nařízení GDPR. Ladka Poláková Partner Sales Executive Cloud

Microsoft a nařízení GDPR. Ladka Poláková Partner Sales Executive Cloud Microsoft a nařízení GDPR Ladka Poláková Partner Sales Executive Cloud Smluvní vztah Správce - Zpracovatel Správce (zákazník) má povinnost zajistit, že zpracování osobních údajů bude probíhat v souladu

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

8 Třídy, objekty, metody, předávání argumentů metod

8 Třídy, objekty, metody, předávání argumentů metod 8 Třídy, objekty, metody, předávání argumentů metod Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost třídám a objektům, instančním

Více

Osnova přednášky. Programové prostředky řízení Úvod do C# II. Přístup ke členům. Členy (Members)

Osnova přednášky. Programové prostředky řízení Úvod do C# II. Přístup ke členům. Členy (Members) Osnova přednášky Programové prostředky řízení Úvod do C# II. Členy (Members) Jmenné prostory (Namespaces) Třídy (Classes) Struktury (Structs) Pavel Balda Západočeská univerzita v Plzni, FAV, KKY 2 Členy

Více

Zápis programu v jazyce C#

Zápis programu v jazyce C# Zápis programu v jazyce C# Základní syntaktická pravidla C# = case sensitive jazyk rozlišuje velikost písmen Tzv. bílé znaky (Enter, mezera, tab ) ve ZK překladač ignoruje každý příkaz končí ; oddělovač

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

IRAE 07/08 Přednáška č. 1

IRAE 07/08 Přednáška č. 1 Úvod do předmětu OOP Objekt Proč OOP? Literatura, osnova předmětu viz. cvičení Základní prvek OOP sw inženýrství = model reálných objektů (věcí) člověk, auto, okno (ve windows), slovník, = model abstraktní

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

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

Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006

Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006 Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006 Lekce 1 Jazyk Java Tento projekt je spolufinancován Evropským sociálním fondem

Více

Objektově orientované programování

Objektově orientované programování 10. října 2011 Pragmatické informace Volitelný předmět, zápočet: zápočtový program(s dokumentací), aktivní účast na cvičení(body v CodExu), praktický test, zkouška: zkoušková písemka na objektový návrh

Více

David Bednárek Jakub Yaghob Filip Zavoral.

David Bednárek Jakub Yaghob Filip Zavoral. David Bednárek Jakub Yaghob Filip Zavoral http://data.ksi.ms.mff.cuni.cz/svn/nprg051pub/html/nprg051.html C++ a vlastní C moduly obj, lib, dll/so jak linkovat C a C++ moduly jak dělat společné C/C++ headery

Více

PŘETĚŽOVÁNÍ OPERÁTORŮ

PŘETĚŽOVÁNÍ OPERÁTORŮ PŘETĚŽOVÁNÍ OPERÁTORŮ Jazyk C# podobně jako jazyk C++ umožňuje přetěžovat operátory, tj. rozšířit definice některých standardních operátorů na uživatelem definované typy (třídy a struktury). Stejně jako

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

Úvod do programovacích jazyků (Java)

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

Více

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

Programování v C++ 1, 1. cvičení Programování v C++ 1, 1. cvičení opakování látky ze základů 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 1 2 Shrnutí procvičených

Více

Jazyk C# (seminář 3)

Jazyk C# (seminář 3) Jazyk C# (seminář 3) Pavel Procházka KMI October 8, 2014 Motivace Největší využití v programování okenních aplikací a GUI knihoven. Data reprezentujeme pomocí objektů (tříd), máme tedy ucelený pohled na

Více

PB161 Programování v jazyce C++ Přednáška 10

PB161 Programování v jazyce C++ Přednáška 10 .. PB161 Programování v jazyce C++ Přednáška 10 Šablony Nikola Beneš 23. listopadu 2015 PB161 přednáška 10: šablony 23. listopadu 2015 1 / 29 K zamyšlení Jaký je rozdíl mezi new int[10] a new int[10]()?

Více

PROGRAMOVÁNÍ V C++ CVIČENÍ

PROGRAMOVÁNÍ V C++ CVIČENÍ PROGRAMOVÁNÍ V C++ CVIČENÍ INFORMACE Michal Brabec http://www.ksi.mff.cuni.cz/ http://www.ksi.mff.cuni.cz/~brabec/ brabec@ksi.mff.cuni.cz gmichal.brabec@gmail.com PODMÍNKY ZÁPOČTU Základní podmínky společné

Více

TŘÍDY POKRAČOVÁNÍ. Události pokračování. Příklad. public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e);

TŘÍDY POKRAČOVÁNÍ. Události pokračování. Příklad. public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e); TŘÍDY POKRAČOVÁNÍ Události pokračování public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e); class Bod private int x; private int y; public event ZmenaSouradnicEventHandler ZmenaSouradnic;

Více

11.5.2012. Obsah přednášky 9. Skrývání informací. Skrývání informací. Zapouzdření. Skrývání informací. Základy programování (IZAPR, IZKPR) Přednáška 9

11.5.2012. Obsah přednášky 9. Skrývání informací. Skrývání informací. Zapouzdření. Skrývání informací. Základy programování (IZAPR, IZKPR) Přednáška 9 Obsah přednášky 9 Základy programování (IZAPR, IZKPR) Přednáška 9 Základy dědičnosti, přístupová práva Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 03 022, Náměstí Čs. legií

Více

Úvod do programování - Java. Cvičení č.4

Úvod do programování - Java. Cvičení č.4 Úvod do programování - Java Cvičení č.4 1 Sekvence (posloupnost) Sekvence je tvořena posloupností jednoho nebo více příkazů, které se provádějí v pevně daném pořadí. Příkaz se začne provádět až po ukončení

Více

Jak na Cloud. Roman Šuk, Microsoft Monika Kavanová, Sales2Win

Jak na Cloud. Roman Šuk, Microsoft Monika Kavanová, Sales2Win Alberto Sutton Director of Product Marketing, Nintex Member since 2005 Gold ISV competency Jak na Cloud Roman Šuk, Microsoft Monika Kavanová, Sales2Win 1 Cloud Příležitost pro partnery Roman Šuk 2 Cost

Více

ADT/ADS = abstraktní datové typy / struktury

ADT/ADS = abstraktní datové typy / struktury DT = datové typy obor hodnot, které může proměnná nabývat, s operacemi na tomto oboru určen: obor hodnot + výpočetní operace např. INT = { 2 147 483 648 až +2 147 483 647} + {+,,*,/,} ADT/ADS = abstraktní

Více

7. Datové typy v Javě

7. Datové typy v Javě 7. Datové typy v Javě Primitivní vs. objektové typy Kategorie primitivních typů: integrální, boolean, čísla s pohyblivou řádovou čárkou Pole: deklarace, vytvoření, naplnění, přístup k prvkům, rozsah indexů

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

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

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

Využití OOP v praxi -- Knihovna PHP -- Interval.cz Page 1 of 6 Knihovna PHP Využití OOP v praxi Po dlouhé teorii přichází na řadu praxe. V následujícím textu si vysvětlíme možnosti přístupu k databázi pomocí různých vzorů objektově orientovaného programování

Více

PB161 Programování v jazyce C++ Přednáška 8

PB161 Programování v jazyce C++ Přednáška 8 .. PB161 Programování v jazyce C++ Přednáška 8 Výjimky Správa prostředků (RAII) Nikola Beneš 9. listopadu 2015 PB161 přednáška 8: výjimky, RAII 9. listopadu 2015 1 / 24 . PB161 přednáška 8: výjimky, RAII

Více

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu. Informatika 10. 9. 2013 Jméno a příjmení Rodné číslo 1) Napište algoritmus pro rychlé třídění (quicksort). 2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus

Více

PB161 Programování v jazyce C++ Přednáška 10

PB161 Programování v jazyce C++ Přednáška 10 PB161 Programování v jazyce C++ Přednáška 10 Šablony Nikola Beneš 27. listopadu 2017 PB161 přednáška 10: šablony 27. listopadu 2017 1 / 33 Šablony PB161 přednáška 10: šablony 27. listopadu 2017 2 / 33

Více

Cvičení z programování v C++ ZS 2016/2017 Přemysl Čech

Cvičení z programování v C++ ZS 2016/2017 Přemysl Čech Cvičení z programování v C++ ZS 2016/2017 Přemysl Čech cíl: vytvořit třídu inf_system pro ukládání informací o studentech a zaměstnancích působících na fakultě příklad použití: int main() { inf_system

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

Jak řešit zpracování osobních údajů v cloudu dle GDPR a nešlápnout vedle. Zdeněk Jiříček National Technology Officer Microsoft ČR

Jak řešit zpracování osobních údajů v cloudu dle GDPR a nešlápnout vedle. Zdeněk Jiříček National Technology Officer Microsoft ČR Jak řešit zpracování osobních údajů v cloudu dle GDPR a nešlápnout vedle Zdeněk Jiříček National Technology Officer Microsoft ČR GDPR = General Data Protection Regulation Nařízení nikoliv směrnice. Je

Více

PB161 Programování v jazyce C++ Přednáška 7

PB161 Programování v jazyce C++ Přednáška 7 PB161 Programování v jazyce C++ Přednáška 7 Statické položky tříd Základy OOP Nikola Beneš 6. listopadu 2018 PB161 přednáška 7: static, základy OOP 6. listopadu 2018 1 / 21 Klíčové slovo static Znáte z

Více

PB161 Programování v jazyce C++ Přednáška 9

PB161 Programování v jazyce C++ Přednáška 9 PB161 Programování v jazyce C++ Přednáška 9 Právo friend Přetěžování operátorů Nikola Beneš 16. listopadu 2015 PB161 přednáška 9: friend, přetěžování operátorů 16. listopadu 2015 1 / 30 Reklama PB173 Tematicky

Více

Základy C++ I. Jan Hnilica Počítačové modelování 18

Základy C++ I. Jan Hnilica Počítačové modelování 18 Základy C++ I 1 Přechod z C na C++ jazyk C++ je nadmnožinou jazyka C z hlediska syntaxe se jedná o velmi podobné jazyky, spolu s dalšími jazyky "céčkovské" rodiny, jako je např. C# každý platný program

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

Úvod do programování v jazyce Java

Úvod do programování v jazyce Java Úvod do programování v jazyce Java Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci 5. říjen, 2011 Petr Krajča (UP) KMI/UP3J: Seminář I. 5.10.2011 1 / 17 Organizační informace email: petr.krajca@upol.cz

Více

PB161 Programování v jazyce C++ Přednáška 7

PB161 Programování v jazyce C++ Přednáška 7 PB161 Programování v jazyce C++ Přednáška 7 Statické položky tříd Základy OOP Nikola Beneš 6. listopadu 2018 PB161 přednáška 7: static, základy OOP 6. listopadu 2018 1 / 21 Klíčové slovo static Znáte z

Více

Abstraktní datové typy

Abstraktní datové typy Karel Müller, Josef Vogel (ČVUT FIT) Abstraktní datové typy BI-PA2, 2011, Přednáška 10 1/27 Abstraktní datové typy Ing. Josef Vogel, CSc Katedra softwarového inženýrství Katedra teoretické informatiky,

Více

Datové abstrakce v programovacích jazycích

Datové abstrakce v programovacích jazycích Datové abstrakce v programovacích jazycích Motivace Strukturovat rozsáhlé programy Dovolit separátní překlad Možné formy strukturování: Podprogramy původní forma abstrakce -abstrakce výpočtů Moduly kontejnery

Více

URČITÝM ZPŮSOBEM PODOBNÉ

URČITÝM ZPŮSOBEM PODOBNÉ Objekty Svět se skládá z objektů! konkrétní x abstraktní hmatatelné x nehmatatelné (letadlo) x (chyba v programu) Objekty mohou obsahovat jiné objekty (tělo obsahuje buňky, letadlo součásti). Objekty URČITÝM

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

Od Czech POINTu k vnitřní integraci

Od Czech POINTu k vnitřní integraci Od Czech POINTu k vnitřní integraci Radek Novák Direct Account Manager Co mají společné??? - Czech POINT - Datové schránky (ISDS) - Vnitřní integrace úřadu 2 Projekt Czech POINT - 28.3.2007 zahájen pilotní

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

CzechPOINT@office a konverze na úřadech Martin Řehořek

CzechPOINT@office a konverze na úřadech Martin Řehořek CzechPOINT@office a konverze na úřadech Martin Řehořek Novell Professional Services ČR, s.r.o. mrehorek@novell.com Agenda CzechPOINT@office Lokální administrátor Autorizovaná konverze na žádost Autorizovaná

Více

NPRG031 Programování II 1 / :47:55

NPRG031 Programování II 1 / :47:55 NPRG031 Programování II 1 / 43 23. 2. 2016 11:47:55 Objekty Svět se skládá z objektů! Objekt = data + funkce (metody) konkrétní x abstraktní hmatatelné x nehmatatelné (letadlo) x (chyba v programu) Objekty

Více

Základy programování (IZP)

Základy programování (IZP) Základy programování (IZP) Šesté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 6. týden

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

Základy programování (IZP)

Základy programování (IZP) Základy programování (IZP) Jedenácté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Gabriela Nečasová, inecasova@fit.vutbr.cz

Více

PB161 Programování v jazyce C++ Přednáška 2

PB161 Programování v jazyce C++ Přednáška 2 PB161 Programování v jazyce C++ Přednáška 2 Základy objektů Reference, const Nikola Beneš 25. září 2018 PB161 přednáška 2: objekty, reference, const 25. září 2018 1 / 30 Jak funguje std::vector? (pro zvídavé)

Více

1 - Úvod do platformy.net. IW5 - Programování v.net a C#

1 - Úvod do platformy.net. IW5 - Programování v.net a C# 1 - Úvod do platformy.net IW5 - Programování v.net a C# Strana 1 Obsah přednášky Objektově orientované paradigma.net Framework Základní rysy jazyka C# Strana 2 Objektová orientace C# implementuje základní

Více

Potřebujete mít vaše IS ve shodě s legislativou? Bc. Stanislava Birnerová

Potřebujete mít vaše IS ve shodě s legislativou? Bc. Stanislava Birnerová Potřebujete mít vaše IS ve shodě s legislativou? Bc. Stanislava Birnerová Direct Account Manager sbirnerova@novell.com Komplexnost, Nátlak, Nulová tolerance Nařízení Business Continuity Interní hrozby

Více

Pokud neuvedeme override, vznikne v synu nová (nevirtuální) metoda (a pochopitelně se nezavolá, jak bychom

Pokud neuvedeme override, vznikne v synu nová (nevirtuální) metoda (a pochopitelně se nezavolá, jak bychom Poznámky k virtuálním metodám aneb co když zkoušíme překladač zlobit... Pokud neuvedeme override, vznikne v synu nová (nevirtuální) metoda (a pochopitelně se nezavolá, jak bychom chtěli). Pokud neuvedeme

Více

Jazyk C# (seminář 5)

Jazyk C# (seminář 5) Jazyk C# (seminář 5) Pavel Procházka KMI 23. října 2014 Přetěžování metod motivace Představme si, že máme metodu, která uvnitř dělá prakticky to samé, ale liší se pouze parametry V C# můžeme více metod

Více

Stav podnikové bezpečnosti, 2010. Globální zpráva Jakub Jiříček, Symantec ČR a SR

Stav podnikové bezpečnosti, 2010. Globální zpráva Jakub Jiříček, Symantec ČR a SR Stav podnikové bezpečnosti, 2010 Globální zpráva Jakub Jiříček, Symantec ČR a SR Agenda 1 Metodologie studie 2 Klíčová zjištění 3 Obecná doporučení 4 Symantec a podniková řešení 5 Konkrétní řešení pro

Více

Mobilní počítač Dolphin TM 6100. Stručný návod k použití

Mobilní počítač Dolphin TM 6100. Stručný návod k použití Mobilní počítač Dolphin TM 6100 Stručný návod k použití Mobilní počítač Dolphin 6100 Pro začátek Ověřte si, že balení obsahuje následující položky: Mobilní počítač Dolphin 6100 (terminál) Hlavní bateriový

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

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

NMIN201 Objektově orientované programování 2016/17 1 / :03:29

NMIN201 Objektově orientované programování 2016/17 1 / :03:29 NMIN201 Objektově orientované programování 2016/17 1 / 42 21. 11. 2016 11:03:29 Objekty Svět se skládá z objektů! konkrétní x abstraktní hmatatelné x nehmatatelné (letadlo) x (chyba v programu) Objekty

Více

Cloud nový směr v poskytování IT služeb

Cloud nový směr v poskytování IT služeb Govern efficiently Cloud nový směr v poskytování IT služeb Michal Osif Senior Architect Microsoft Services Konference IT FOR PEOPLE 2010 16. 9. 2010, VŠB-TU Ostrava Kapacita IT Kapacita IT Nedostatek

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

Bázové třídy platformy.net

Bázové třídy platformy.net 07 Strana 1 Obsah přednášky BCL Správa paměti v.netu IDisposable Kolekce Streamy Strana 2 BCL Base Class Libary základní sada knihoven frameworku jádro je v mscorlib.dll Obsahuje základní datové typy datové

Více

Dynamika objektů. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze

Dynamika objektů. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze Dynamika objektů Karel Richta a kol. katedra počítačů FEL ČVUT v Praze Přednášky byly připraveny s pomocí materiálů, které vyrobili Ladislav Vágner, Pavel Strnad Karel Richta, Martin Hořeňovský, Aleš Hrabalík,

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