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



Podobné dokumenty
Zápis programu v jazyce C#

Komponenty v.net. Obsah přednášky

Architektury informačních systémů

Architektury informačních systémů

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

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

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

Generické programování

PREPROCESOR POKRAČOVÁNÍ

Architektura COM. Historie Component Object Model (COM) Komunikace s komponentami Rozhraní komponent COM komponenty v.net.

Úvod do programovacích jazyků (Java)

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

ADT/ADS = abstraktní datové typy / struktury

NPRG031 Programování II --- 2/2 Z, Zk

Principy objektově orientovaného programování

Abstraktní datové typy: zásobník

Jazyk C# (seminář 6)

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

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

Softwarové komponenty a Internet

Jazyk C++ I. Polymorfismus

Programovací jazyk Úvod do programování v C#

Vytváření a použití knihoven tříd

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

Programovací jazyk C# Úvod do programování v C#

URČITÝM ZPŮSOBEM PODOBNÉ

Programovací jazyk C# Úvod do programování v C#

Úvod Přetěžování Generika Kolekce Konec. Programování v C# Další jazykové konstrukce. Petr Vaněček 1 / 31

Seznamy a iterátory. Kolekce obecně. Rozhraní kolekce. Procházení kolekcí

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/

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

Objektově orientované programování

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.

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

Tvorba informačních systémů

Úvod do programování v jazyce Java

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

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

JAZYK C# ÚVOD. Literatura. Jazyk C# .NET Framework

KTE / ZPE Informační technologie

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

Jazyk C# a platforma.net

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 3.4.

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

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

Seznámení s prostředím dot.net Framework

Výčtový typ strana 67

Úvod do programovacích jazyků (Java)

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Skriptovací jazyky. Obsah

MOŽNOSTI JAZYKA C# A JEHO INTEGRACE S JINÝMI JAZYKY.

Jazyk C++ I. Šablony 2

Stromy. Příklady. Rekurzivní datové struktury. Základní pojmy

Platforma.NET 4. hodina dnes to bude ideologické

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

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

Jazyk C# (seminář 5)

Algoritmizace a programování

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

7. Datové typy v Javě

Programovací jazyk Java

Jazyk C++ I. Šablony

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy

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

Teoretické minimum z PJV

Jakub Čermák Microsoft Student Partner

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

Abstrakt. Klíčová slova. Title. Abstrakt. Klíčová slova

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

Kolekce, cyklus foreach

IAJCE Přednáška č. 7. řízení semaforu na křižovatce = přepínání červená/oranžová/zelená

Stream API. Petr Krajča. Základy programovaní 4 (Java) Katedra informatiky Univerzita Palackého v Olomouci

Připravil: Ing. Vít Ondroušek, Ph.D. Technologie.Net Framework

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

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.

KTE / ZPE Informační technologie

Jazyk C++, některá rozšíření oproti C

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

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4

Obsah přednášky. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace UML. Co je diagram tříd. Ing. Ondřej Guth

Jazyk C# (seminář 3)

Tvorba informačních systémů

Fakulta elektrotechniky a informatiky Univerzita Pardubice 2014/2015. poslední přednáška a materiál k samostudiu

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

Úvod Seznámení s předmětem Co je.net Vlastnosti.NET Konec. Programování v C# Úvodní slovo 1 / 25

Ukazka knihy z internetoveho knihkupectvi

DATOVÉ TYPY POKRAČOVÁNÍ

Programování v Javě I. Leden 2008

Jazyk C# a platforma.net

Úvodem... 9 Kapitola 1 Karetních

Správa paměti. doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 /

Třídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5);

Jazyk C# (seminář 3)

Datové typy strana 29

SOUBORY, VSTUPY A VÝSTUPY POKRAČOVÁNÍ

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

Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13

typová konverze typová inference

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

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Transkript:

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 jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní Základy jazyka C# 2 (c) Miroslav Beneš, Katedra informatiky FEI VŠB-TU Ostrava 1

Architektura.NET Programovací jazyky VB C# C++ JScript Common Language Specification (CLS) ASP.NET Windows Forms ADO.NET XML Common Language Runtime (CLR) Windows Služby COM+ Zdroj: J. Šeda: J2EE,.NET a vývoj rozsáhlých systémů, www.interval.cz Základy jazyka C# 3 Součásti.NET Framework COM+ distribuované objekty CLR společné knihovny ADO.NET přístup k datům ASP.NET webové aplikace Windows Forms uživatelské rozhraní CLS společné vlastnosti jazyků Programovací jazyky - C#, zásadní změny Základy jazyka C# 4 (c) Miroslav Beneš, Katedra informatiky FEI VŠB-TU Ostrava 2

Historie 1998 první zprávy o novém jazyce COOL červen 2000 uvolnění specifikace C# červenec 2000.NET Framework SDK listopad 2000 zahájení standardizace 13. 12. 2001 ECMA-334 (C#), 335 (CLI) leden 2002 finální podoba.net Autor: Anders Hejlsberg (Turbo Pascal, Delphi), Scott Wiltamuth, Peter Golde Základy jazyka C# 5 Vlastnosti jazyka C# Podpora vývoje založeného na komponentách přímá podpora základních konstrukcí (vlastnosti, metody, události) metadata + atributy integrované verzování komponent integrovaná XML dokumentace Základy jazyka C# 6 (c) Miroslav Beneš, Katedra informatiky FEI VŠB-TU Ostrava 3

Vlastnosti jazyka C# Moderní objektově orientovaný jazyk veškeré očekávané vlastnosti delegát bezpečné předávání funkcí jako parametrů přetěžování operátorů, uživatelské konverze, obyčejná pole rozsáhlý systém knihoven tříd jednotný typový systém, ale není všechno objekt optimalizace Základy jazyka C# 7 Vlastnosti jazyka C# Vývoj robustních a trvanlivých aplikací typová bezpečnost automatická správa paměti jednotný systém výjimek možnost nezávislého verzování bázových tříd kontroly rozsahů polí, aritmetické kontroly Základy jazyka C# 8 (c) Miroslav Beneš, Katedra informatiky FEI VŠB-TU Ostrava 4

Vlastnosti jazyka C# Pragmatický přístup žádná revoluce v syntaxi jazyka práce s ukazateli, přetypování, přímé přidělování paměti na zásobníku nutnost speciálních privilegií spolupráce s existujícími komponentami COM, DLL Základy jazyka C# 9 Příklad using System; namespace Priklady { /// <summary> /// popis třídy Priklad1 /// </summary> class Priklad1 { static void Main(string[] args) { Console.WriteLine( ); Základy jazyka C# 10 (c) Miroslav Beneš, Katedra informatiky FEI VŠB-TU Ostrava 5

Datové typy Hodnotové typy obsahují přímo data - přiřazením vzniká kopie hodnoty sbyte, byte 10, 3u, 0x00ff short, ushort, int, uint, long, ulong 1000L char a, \x0041, \n float, double, decimal 1.5f, 1e-3m, 6.67e-23d bool true, false Základy jazyka C# 11 Datové typy Struktura (struct) Hodnotový typ Jako třída, ale bez dědičnosti struct Komplex { public float real; public float imag; Základy jazyka C# 12 (c) Miroslav Beneš, Katedra informatiky FEI VŠB-TU Ostrava 6

Datové typy Výčtový typ množina pojmenovaných konstant enum DnyTydne { Pondeli, Utery, Streda, ; enum Dny : byte { ; Dny dnes = Dny.Nedele; Základy jazyka C# 13 Datové typy Referenční typy neuchovávají hodnotu, ale odkaz na hodnotu - objekt hodnota null přiřazením nevzniká kopie hodnoty, ale jen odkazu Typy object, string, třída (class), rozhraní (interface), pole a delegát (delegate) Ukazatele Základy jazyka C# 14 (c) Miroslav Beneš, Katedra informatiky FEI VŠB-TU Ostrava 7

Datové typy Pravidelná pole Klasická pole jako v C/C++ Stejný počet prvků ve všech řádcích int [,] mat1 = new int[5, 10] mat1[2,3] = 15; Nepravidelná pole Pole polí jako v Javě int[][] mat2 = new int [5][]; mat2[2] = new int[7]; mat[2][3] = 15; Základy jazyka C# 15 Výrazy Jako C/C++/Java Přetěžování operátorů Operátory lze definovat pomocí uživatelských metod Unární, binární a relační operátory Mat operator + (Mat op2) { Základy jazyka C# 16 (c) Miroslav Beneš, Katedra informatiky FEI VŠB-TU Ostrava 8

Příkazy jako C/C++/Java Příkaz switch nelze přecházet mezi větvemi Příkaz goto Průchod kolekcí nebo polem příkaz foreach foreach( T x in IEnumerable ) { IEnumerator ie = coll.getenumerator(); while( ie.movenext() ) { T x = (T)ie.Current(); Základy jazyka C# 17 Prostory jmen namespace cz.vsb.cs.priklady { using System.Collections; System.Collections.Hashtable t; Hashtable t; Základy jazyka C# 18 (c) Miroslav Beneš, Katedra informatiky FEI VŠB-TU Ostrava 9

Třídy public class Control { string text; // data public string Text { // vlastnost get { return text; put { text = value; Redraw(); public void Clear() { Text = ; // metoda Základy jazyka C# 19 Konstruktor a destruktor Stejné jméno jako třída Konstruktor se volá automaticky Destruktor se volá při zrušení objektu kdy to je? class Bod { private int x, y; public Bod(short nx, short ny) { x = nx; y = ny; public Bod() { x = y = 0; Základy jazyka C# 20 (c) Miroslav Beneš, Katedra informatiky FEI VŠB-TU Ostrava 10

Rozhraní a dědičnost public interface IDelete { void Delete(); public class TextBox : Control, IDelete { public void Delete() { public override string Text { get { set { přetížená vlastnost Základy jazyka C# 21 Indexery public class ScoreList { int[] scores = new int[5]; public int this[int index] { // indexer get { return scores[index]; set { if( value >= 0 && value <= 10 ) scores[index] = value; public int Average { // read-only vlastnost get { int sum = 0; foreach( int score in scores ) sum += score; return sum / scores.length; Základy jazyka C# 22 (c) Miroslav Beneš, Katedra informatiky FEI VŠB-TU Ostrava 11

Literatura a další zdroje Drayton, P., Albahari, B., Neward, T.: C# in a Nutshell. O Reilly & Associates Inc., 2002, ISBN 0-596-00181-9 Kačmář, D.: Programujeme.NET aplikace ve Visual Studiu.NET Computer Press, 2001, ISBN 80-7226-569-5 http://msdn.microsoft.com/net http://www.gotdotnet.com http://www.go-mono.com http://www.dotgnu.org http://www.ecma.ch Základy jazyka C# 23 (c) Miroslav Beneš, Katedra informatiky FEI VŠB-TU Ostrava 12