C# přehled vlastností.

Slides:



Advertisements
Podobné prezentace
A1PRG - Programování – Seminář Ing. Michal Typová konverze, oblast platnosti, paměťové třídy 9 Verze
Advertisements

(instance konkrétní třídy)
ÚVOD DO C++ 3 TŘÍDY a objekty - POKRAČOVÁNÍ
Seminář C++ 5. cvičení Dědičnost Ing. Jan Mikulka.
Funkce Připomeňme si program pro výpočet faktoriálu:
OOP OOP (Object Oriented Programming)
Pole, ukazatele a odkazy
ÚVOD DO CPP 7 Dědičnost - pokračování
BLIŽŠÍ POHLED NA TŘÍDY, DĚDIČNOST - úvod
PJV151 Vnořené a vnitřní členy mohou být členy tříd a interfejsů. Je-li X obalem Y a Y je obalem Z, pak Z získá jméno X$Y$Z - kompilací vzniknou classy.
Počítače a programování 1. Obsah přednášky Výjimky - základní typy výjimek Způsoby zpracování výjimek.
4IT1014IT101 Pátá přednáška Datové struktury - pokračování Statické prvky třídy.
Polymorfismus Dědičnost
C++ Přednáška 3 Konstantní a statické členy tříd, ukazatel this, konstantní instance třídy Ing. Jiří Kulhánek , kat. 352, VŠB TU Ostrava 2004.
Principy překladačů Běhová podpora Jakub Yaghob. Běhová podpora Statická podpora jazyka Překladač Interface na knihovny Hlavičkové soubory Dynamická podpora.
Algoritmizace a programování
Čtvrté cvičení Objektové programování Objektový model v Javě
Větvení cykly J a v a Začínáme programovat Lucie Žoltá.
J a v a Začínáme programovat Lucie Žoltá metody, objekty, konstruktor.
C# - struktury, výčtové typy, pole
C# - datové typy Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
State. State – kontext a problém Kontext  chování objektu má záviset na jeho stavu, který se typicky mění za běhu Neflexibilní řešení  metody obsahují.
Páté cvičení Dědičnost Interface Abstarktní třídy a metody
Ing. Josef Veselý Označení šablony a vzdělávací sady viz.rozpis.
PB161 Jmenné prostory, I/O proudy PB161 | Jmenné prostory, IO proudy PB161 – Programování v jazyce C++ Objektově Orientované Programování.
08/04/20151 Delegáty (1) Delegát (delegate) je datový typ, který definuje signaturu metody Delegáty bývají rovněž označovány jako typo- vě bezpečné ukazatele.
PRÁCE S VLÁKNY A APLIKAČNÍ DOMÉNY V.NET FRAMEWORK APLIKACÍCH Architektura technologie.NET Jan Martinovič, FEI - Katedra Informatiky.
6. cvičení Polymorfismus
Počítače a programování 1
PB161 Právo friend, přetěžování operátorů, přetypování PB161 | Friend, operátory PB161 – Programování v jazyce C++ Objektově Orientované Programování.
KIV/PPA1 cvičení 8 Cvičící: Pavel Bžoch. Osnova cvičení Objekty v Javě Třída Konstruktor Metody Metody a proměnné třídy x instance Program sestávající.
OSNOVA: a) Úvod do OOPb) Třídy bez metod c) Třídy s metodamid) Konstruktory a destruktory e) Metody constf) Knihovní třídy g) Třídy ve tříděh) Přetížení.
PB161 Principy OOP - rozhraní, dědičnost PB161 | Principy OOP - Dědičnost, rozhraní
C# - předávání parametrů Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
IB111 Programování a algoritmizace
Návrh a tvorba WWW Přednáška 5 Úvod do jazyka PHP.
OSNOVA: a) Přetížení členských funkcí b) Dědičnost tříd Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače a programování 2 pro obor EST BPC2E.
Dědičnost - inheritance dědičnost je jednou z forem znovupoužitelnosti dědičnost je jednou z forem znovupoužitelnosti B A Třída A je předkem třídy B Třída.
13/04/20151 Indexery (1) Členy třídy (struktury) umožňující třídě (struk- tuře) používat hranaté závorky a pracovat s ní podobně jako s polem (používat.
13/04/20151 Datový typ třída – class (1) Datový typ definovaný uživatelem Poskytuje mechanismus pro modelování entit, s nimiž manipulují aplikace Charakterizuje.
Šesté cvičení Výjimky Balíky.
Principy OOP Objektově orientované programování vychá-zí ze třech základních principů (rysů): zapouzdření (encapsulation) dědičnost (inheritance) polymorfismus.
Netrvaloppa21 Vytvořte třídu Student pro reprezentaci struktury student na ZČU. Atributy třídy budou fakulta a osobniCislo. Název třídy: Student proměnné.
Počítače a programování 1 7.přednáška. Základy Pole ve třídách a metodách Pole Arrays.
FEL Komunikátor. Memory Leak program konsumuje operační paměť, kterou neumožňuje uvolnit o uvolnění paměti stará Garbage Collector ▫plně v režii Java.
Pokročilé programování v C++ (část B)
PŘÍKAZ while úkol 1_42.
Jazyk C A0B36PRI - PROGRAMOVÁNÍ Část II.
Jazyk C A0B36PRI - PROGRAMOVÁNÍ Část I.
Kam se ubírá jazyk C#? Dr. Ing. Dalibor Kačmář Academic Developer Evangelist Developer & Platform Evangelist Group Microsoft Czech & Slovakia Anders Hejlsberg.
Počítače a programování 1
Pokročilé datové typy (struktury, unie, dynamické proměnné)
Jaroslav BURDYS 4IT.  Čistě OOP jazyk (objektově orientovaný programovací jazyk)  Objekty založeny na tzv. objektových typech: Struktura (struct)
Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond Gymnázium, Praha 10, Voděradská 2 Projekt OBZORY Datové typy a operátory Základní programové.
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o., Orlová-Lutyně AUTOR: Ing. Adéla Tomalová NÁZEV: Podpora výuky v technických oborech TEMA: Objektově orientované.
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o., Orlová-Lutyně AUTOR: Ing. Adéla Tomalová NÁZEV: Podpora výuky v technických oborech TEMA: Objektově orientované.
Programování v jazyce C++ Speciality jazyka C++, úvod do OOP.
Y36PJC Programování v jazyce C/C++
Úvod do C# - OOP Jaroslav BURDYS 4IT.
OOP OOP (Object Oriented Programming)
Programování ENUM, SWITCH,pole jednorozměrná a vícerozměrná, deklarace, inicializace, kopírování, porovnání Erik Král.
Programovací jazyk C++
Y36PJC Programování v jazyce C/C++
Návrhový vzor Flyweight
Polymorfismus = Mnohotvarost
Bridge.
Reflexe jako introspekce
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o., Orlová-Lutyně
Vázání dat Data Binding
Bridge.
Transkript prezentace:

C# přehled vlastností

Hello World using System; class Hello { static void Main() { Console.WriteLine("Hello world"); }

Namespaces Deklarace typů Členy Organizace C# Struktura programu Obsahuje typy a další namespaces Deklarace typů Třídy, struktury, rozhraní, enumerace, a delegáty Členy Konstanty, datové členy (složky), metody, vlastnosti, indexery, události, atributy, operátory, konstruktory, destruktory Organizace Žádné hlavičkové soubory Assemblies

Hodnotové typy Referenční typy Typy Obsahuje přímo data Nemůže být null Referenční typy Obsahuje odkazy na objekty Může být null int i = 123; string s = "Hello world"; i 123 s "Hello world"

Type System Hodnotové typy Referenční typy Primitivní int i; Enumerace enum State { Off, On } Struktury struct Point { int x, y; } Referenční typy Třídy class Foo: Bar, IFoo {...} Interfaces interface IFoo: IBar {...} Pole string[] a = new string[10]; Delegáty delegate void Empty();

Vícenásobná dědičnost pomocí implementace rozhraní Třída - členy Třídy Jednoduchá dědičnost Vícenásobná dědičnost pomocí implementace rozhraní Třída - členy Konstanty, složky (pole), metody, vlastnosti, indexery, události, operátory, konstruktory, destruktory Statické a instanční členy Vnořené, zapečetěné, abstraktní třídy Přístupnost pomocí modifikátorů public, protected, internal, protected internal, private

Programové bloky obsahující sekvenci příkazů Redukuje duplikátní kód Třída - Metody Programové bloky obsahující sekvenci příkazů Redukuje duplikátní kód Dekompozice problému Základní charakteristika Úroveň přístupu Návratová hodnota Jméno Parametry Tělo (sekvence příkazů)

Parametry metod Modifikátor Žádný – předávání hodnotou – metoda obdrží kopii původních dat ref – předávání odkazem out – výstupní parametry params – proměnlivý počet parametrů téhož typu

Vlastnosti jsou “chytré složky” public class Button: Control { private string caption; public string Caption { get { return caption; } set { caption = value; Repaint(); Button b = new Button(); b.Caption = "OK"; String s = b.Caption;

Indexery jsou “malé pole” Dají se přetěžovat public class ListBox: Control { private string[] items; public string this[int index] { get { return items[index]; } set { items[index] = value; Repaint(); ListBox listBox = new ListBox(); listBox[0] = "hello"; Console.WriteLine(listBox[0]);

Konstruktory a destruktory Konstruktor je metoda, která se volá když dojde k vytvoření instance třídy (struktury) Implicitní (bezparametrický) konstruktor Parametrické konstruktory Destruktor se volá když instance končí své trvání Destruktory jsou volány automaticky Pouze jeden destruktor pro danou třídu Destruktor volá metodu Finalize

Odlišnosti proti třídám Struktury Odlišnosti proti třídám Hodnotový typ, zásobník místo haldy Žádné reference Žádná dědičnost Ideální pro „odlehčené“ objekty Body, obdélníky, barvy Výhody Nejsou alokovány na haldě Efektivnější využití paměti

Třídy a struktury - porovnání class CPoint { int x, y; ... } struct SPoint { int x, y; ... } CPoint cp = new CPoint(10, 20); SPoint sp = new SPoint(10, 20); 10 sp 20 cp CPoint 10 20

Rozhraní (Interfaces) Podporují vícenásobnou dědičnost Může obsahovat metody, vlastnosti, indexery, události Public interface IUIControl { void Paint(); } public class Button : IUIControl public void Paint { /* vybarvi tlacitko */ }

Mohou obsahovat hodnoty jiného typu Enumerace (Výčty) Mapují se na Systém.Int32 Mohou obsahovat hodnoty jiného typu Byte, short, int, long enum Color: byte { Red = 1, Green = 2, Blue = 4, Black = 0 }

Delegáty Objektově orientované ukazatele na funkce Typově bezpečný objekt, který ukazuje na jiné metody Základ pro události

Příkazy a výrazy Cykly Příkazy - větvení Ostatní while, do while, for, foreach Příkazy - větvení if – else, switch - default Ostatní break, continue, return, throw

Referenční typ odvozený od typu Systém.Array Pole Referenční typ odvozený od typu Systém.Array Průchod polem příkazy - foreach, for, … Pole Jednorozměrné pravoúhlé multidimenzionální pole nepravidelné multidimenzionální pole