Statistika testů
K této kapitole
Zodpovězených: 0
Správně: 0
Špatně: 0
Úspěšnost: 0%
Nezodpovězených: 0

Pro testování a jeho statistické vyhodnocení je nutné se přihlásit.


Celkem
Zodpovězených: 0
Správně: 0
Špatně: 0
Úspěšnost: 0%
Nezodpovězených: 0

Programovací jazyk C#

Programováním konzolových aplikací se naučíme základním programátorským technikám a poznáme jazyk C#.

Začneme od tvorby prvního programu, dozvíte se, co je to proměnná, datový typ, operátor, naučíte se, jak řídit tok programu, co jsou to metody, jmenné prostory, a jak pracovat s rozhraním pro vstup a výstup v konzolové aplikaci.

Potom přejdeme k objektově orientovanému programování. Poznáme, co je to třída, konstruktor a destruktor, vlastnosti, dědičnost, jaký význam má třída Object, co je to rozhraní, jak se přetěžují operátory, co jsou to indexery, polymorfismus, objektově orientovaný návrh, UML a návrhové vzory.

V pokročillejších tématech budeme používat výjimky, delegáty, události, řekneme si o preprocesoru jazyka C# a o jeho direktivách, o atributech, jak se spravuje paměť a jak na ukazatele.

Také se zmíníme o Visual Studiu .NET, jaké výhody přináší vývojářské prostředí, co je to projekt, řešení, sestavení a ladění projektu a jak efektivně využívat podporu MSDN.

RNDr. Dušan Kovář, Ph.D.
30. října 2006
Počet návštěv: 161033

Základy programování
Ukážeme si základní programátorské postupy. Vytvoříme první program, ukážeme si, co je to proměnná, datový typ, naučíte se, jak řídit tok programu, co jsou to metody, jmenné prostory, a jak pracovat s rozhraním pro vstup a výstup v konzolové aplikaci.
Co budeme potřebovat pro vytváření, překládání a spouštění programů
Ukážeme si, jaký software budeme potřebovat pro vytváření, překlad a spouštění programů napsaných v jazyce C# na platformě .NET.
První program v jazyce C#
Vytvoříme první program v jazyce C# pro konzolovou aplikaci a popíšeme si jeho strukturu. Ukážeme si, jak postupovat při jeho překladu a jak takový program spustit.
Používáme proměnné
Ukážeme si, co je to proměnná, jak ji deklarovat, inicializovat, co je to datový typ proměnné a další.
Sejmutí uživatelského vstupu
V této kapitole si ukážeme, jak lze sejmout údaje, které zapsal uživatel na příkazový řádek.
Operátory
Zde si ukážeme, co je to operátor a budeme klasifikovat operátory z různých hledisek.
Datový typ
Ukážeme si, co je to datový typ a jak dělíme datové typy z různých hledisek.
Vestavěné hodnotové typy
V této kapitole budeme klasifikovat vestavěné hodnotové datové typy a také se zmíníme o operátorech, které slouží pro vytváření výrazů z proměnných a literálů daných datových typů.
Celočíselné typy
Uvádíme přehled a užití datových typů pro práci s celými čísly.
Typy s plovoucí řádovou čárkou
Ukážeme si datové typy pro práci z desetinnými čísly a s velkými a malými hodnotami, které zapisujeme pomocí mocniny deseti.
Desítkový typ
Zde si předvedeme užití číselného datového typu s velkou přesností.
Aritmetické operátory
Předvedeme si operátory pro vytváření číselných výrazů.
Booleovský typ
Ukážeme si datovýtyp pro reprezentaci booleovské (dvouhodnotové) logiky a práci s tímto datovým typem.
Booleovské operátory
Předvedeme si operátory pro vytváření booleovských výrazů.
Znakový typ
Ukážeme si datový typ pro ukládání kódu znaku.
Vestavěné odkazové typy
V této kapitole se zaměříme na vestavěné odkazové typy Object a String.
System.String
Reference typu System.String.
Pole
Zde si popíšeme datový typ pro uložení více hodnot stejného datového typu s přístupem pomocí indexu.
Řízení toku programu
V této kapitole si ukážeme, jak lze tok programu rozvětvit do více větví a jak část kódu provádět opakovaně.
Příkazy větvení
Uvedeme si přehled příkazů, pomocí nichž můžeme tok programu rozvětvit do několika větví.
Příkaz if
Ukážeme si, jak lze blok kódu provést pouze při vyplnění určité podmínky.
Příkaz if/else
Ukážeme si, jak lze v případě, že je splněna určitá podmínka, provést jeden blok kódu a v opačném případě jiný blok.
Příkaz if/else if/else
Zde si vysvětlíme, jak program rozdělit do více než dvou větví podle určitých podmínek.
Příkaz switch
Na tomto místě budeme demonstrovat, jak rozvětvit tok programu do více větví podle hodnoty určitého výrazu.
Cykly
Ukážeme si, jak lze provádět blok příkazů opakovaně.
Cyklus for
Ukážeme si, jak lze blok příkazů provádět opakovaně v závislosti na hodnotě proměnné zvané čítač.
Cyklus while
Zde si ukážeme, jak můžeme provádět příkazy opakovaně, přičemž podmínka pro další opakování je umístěna na začátku smyčky.
Cyklus do while
V této kapitole se seznámíte s příkazem, který provádí blok příkazů opakovaně, přičemž řídící podmínka pro další opakování je umístěna na konci smyčky.
Příkaz break
Předvedeme si příkaz, který umožní násilné ukončení opakování bloku příkazů v cyklu.
Příkaz continue
Seznámíte se s příkazem, pomocí něhož můžete násilně ukončit aktuální iteraci cyklu a pokračovat následující.
Třídy
V této kapitole si uvedeme základy práce s třídami, postup definice členů třídy a zvláště metod.
Členy třídy
V této kapitole si ukážeme základní klasifikaci členů třídy.
Datové členy
Ukážeme si, jak lze implementovat stav u objektů a jak třídíme datové členy.
Datové položky
Zde si ukážeme, jak implementovat stav objektu.
Události
Zde se zmíníme o navázání události.
Funkční členy
V této kapitole si ukážeme, jak implementovat funkčnost objektů.
Metody
Tato kapitola vás seznámí se zavedením funkčnosti tříd a objektů.
Konstruktory
V této kapitole si ukážeme, jak inicializovat stav objektu.
Destruktory
Nastíníme, co je to garbage collector a destruktor.
Vlastnosti
Zde si ukážeme, jak jednoduše zveřejnit soukromý stav objektu, ale jen do takové míry, kterou požadujeme.
Indexery
V této kapitole si ukážeme, jak definovat přístup k datovým položkám třídy pomocí indexu.
Jmenné prostory
Zde si ukážeme, jak přehledně uspořádat kód do logických celků.
Vstup a výstup v konzolové aplikaci
Zde doplníme znalosti o konzolovém vstupně/výstupním rozhraní (I/O rozhraní).
Více o kompilátoru C#
V této kapitole budeme demonstrovat použití kompilátoru jazyka C# csc.exe.
Objektově orientované programování
Ukážeme si základní i pokročilé principy objektově orientovaného programování (OOP).
Co je to objekt?
V této kapitole si vysvětlíme, co znamenají pojmy černá skříňka a objekt.
Objekty v OOP
Zde si ukážeme, jaký je vztah mezi třídou a objektem.
Třída a její členy
V této kapitole si ukážeme členy třídy.
Definice třídy
Na tomto místě si ukážeme, jak se definuje třída.
Použití třídy
Zde si ukážeme, jak lze danou třídu instanciovat, (vytvořit její instanci) a jak s touto instancí pracovat.
Zapouzdření
Ukážeme si, co je to zapouzdření (encapsulation) a obzvláště objektově orientované zapouzdření.
Skrývání informací a implementací
V kapitole si ukážeme, jak mohou objekty skrývat před okolním kódem svůj stav a také implementaci řešení problémů.
Zprávy
Struktura zprávy
Na tomto místě zmíníme, jak vypadá syntaktická struktura zaslání zprávy.
Argumenty zprávy
V této kapitole si popíšeme zadání argumentů při zaslání zprávy a různé typu argumentů.
Role objektů ve zprávách
Na tomto místě zmíníme, jaké role zastávají jednotlivé objekty, které se zúčastňují zaslání zprávy.
Typy zpráv
Na tomto místě zmíníme klasifikaci zpráv na dotazovací, informační a přikazovací a nastíníme patřičnou implementaci takových zpráv.
Dědičnost
V této kapitole si ukážeme užití dědičnosti jako implementace vztahu generalizace-specializace.
Deklarace odvozené třídy
Na tomto místě si představíme, jak syntakticky zapsat odvození třídy od základní třídy.
Konstruktory v odvozené třídě
Zde si ukážeme, jak volat konstruktory základní třídy před vlastní konstrukcí instance odvozené třídy.
Přepsání metody
V této kapitole si představíme, jak lze nahradit implementaci metody základní třídy novou implementací v odvozené třídě.
Modifikátory přístupu
V této kapitole si ukážeme modifikátory, které určují, v jakém kontextu je daný člen viditelný.
Vztah "je"
Zde si ukážeme názornou pomůcku pro rozpoznání aplikace dědičnosti.
Polymorfizmus
První význam polymorfizmu
Na tomto místě si ukážeme prostředek, pomocí něhož může být datový nebo funkční člen s daným názvem definován ve více třídách a v každé z těchto tříd mít jinou implementaci, která je pro danou třídu specifická.
Druhý význam polymorfizmu
V této kapitole si ukážeme prostředek, pomocí něhož se může proměnná odkazovat v různých okamžicích na objekty různých tříd.
Abstraktní třídy
Zde si představíme třídy, které obsahují alespoň jednu abstraktní metodu, tj. metodu, která je pouze deklarována, avšak není implementována.
Přetěžování metod a operací
Na tomto místě si ukážeme, jak je možné výhodně definovat funkční člen, jenž má více definic, které závisí na signatuře.
Přetěžování operátorů
V této kapitole si ukážeme jak naučit operátor, aby mohl být aplikován na daný datový typ a aby věděl, jakou operaci má s daným datovým typem provést.
Rozhraní
Zde si představíme mechanizmus, který deklaruje určité funkční členy a odvozená třída se zavazuje, že tyto funkční členy bude implementovat.
Deklarace rozhraní
V této kapitole si ukážeme, jak deklarovat vlastní rozhraní a také odvození třídy od tohoto rozhraní.
Dědičnost rozhraní
Na tomto místě si ukážeme, jak lze odvodit rozhraní od daného či několik daných rozhraní.
Destrukce
Úklid v základní a odvozené třídě
Shrnutí tříd a objektů
Pokročilejší techniky
Ukážeme si některé pokročilejší techniky při programování v C#. Například výjimky, delegáty, události, zmíníme se o preprocesoru jazyka C# a o jeho direktivách, o atributech, jak se spravuje paměť a jak na ukazatele.
Rekurze
Stromová rekurze
Výjimky
Zachycení výjimky
Vyvolání výjimky
Vlastnosti výjimky
Vlastní třídy výjimek
Delegáty
Příklady užití delegátu
Vícenásobné delegáty
System.MulticastDelegate
Reference třídy System.MulticastDelegate
Události
Vlastní delegát události
Vývojářské prostředí
Textový editor
Podpůrná okna
Vytvoření projektu
Sestavení projektu
Řešení a projekty
Ladění


Vyhledávání
Přečtěte si knihu
C# Programujeme profesionálně
Robinson S., Allen K. S., Cornes O., Glynn J., Greenvoss Z., Harvey B., Nagel Ch. a další
Computer Press 2003

Programování v Microsoft .NET - Webové aplikace
Prosise, Jeff
Computer Press 2002

Programování Microsoft Windows v jazyce C#
Charles Petzold
Computer Press 2003
Programovací jazyk C# | Programování Windows Forms | Architektura .NET | ASP.NET | Dodatky | Diskuze
RNDr. Dušan Kovář, Ph.D.
Gymnázium Olomouc-Hejčín