C# - funkce a procedury Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.

Slides:



Advertisements
Podobné prezentace
ÚVOD DO C++ 3 TŘÍDY a objekty - POKRAČOVÁNÍ
Advertisements

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
Metody (funkce, procedury)
Algoritmizace a programování Podprogramy v Delphi - 10
Počítače a programování 1. Obsah přednášky Výjimky - základní typy výjimek Způsoby zpracování výjimek.
C# pro začátečníky Mgr. Jaromír Osčádal
Programování v C++ Cvičení.
J a v a Začínáme programovat Lucie Žoltá Přetěžování metod, rekurze.
J a v a Začínáme programovat Lucie Žoltá metody, objekty, konstruktor.
J a v a Začínáme programovat Lucie Žoltá. Odkazy - oficiální stránky (překladače, help, metody, vývojové prostředí NetBeans,...)
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í.
C# - Registry Windows Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Seminář C++ 9. cvičení Šablony Ing. Jan Mikulka. Šablony ► template – vzory, podle kterých může překladač tvořit skupiny podobných tříd nebo funkcí, které.
C# - znakové typy a řetězce
C# - číselné datové typy
C# - Databáze úvod, ADO.NET
C# - Exceptions (výjimky)
C# - pointery Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Objektové programování
Funkce a procedury Funkce jsou v PHP nezbytným programovacím prostředkem. Funkce jsou v PHP nezbytným programovacím prostředkem. Procedura vykonává nějakou.
C# - OOP (object oriented programming)
C# - Grafika Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
PRÁCE S VLÁKNY A APLIKAČNÍ DOMÉNY V.NET FRAMEWORK APLIKACÍCH Architektura technologie.NET Jan Martinovič, FEI - Katedra Informatiky.
C# - Úvod Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
C# - prvky UI – vlastnosti a události Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
6. cvičení Polymorfismus
Alg91 Textové soubory Na rozdíl od jiných typů souborů jsou textové soubory určené pro gramotné lidské oko. Textový soubor je posloupnost znaků členěná.
C# - I/O, streamy, práce se soubory
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í.
C# - Testování a ladění aplikací Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
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í.
C# - Menus, ToolBars and Dialogs Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Příklady v jazyku C – část 3
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
ZADÁNÍ Sestavte program, který vypočítá obvod a obsah čtverce o straně a. Zajistěte, aby výpočet byl realizován pouze v případě, kdy strana a bude mít.
ADO.NET – Transakce Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
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.
C# - Generic Collections Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Motivační dopis zadání
OSNOVA: a)Funkce – úvod b) Hlavičky funkcí c) Rekurze funkcí d)Knihovny funkcí e)Příklady Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače.
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.
ADO.NET – Objekt DataSet (offline scenář) Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Vladimir Vysockij Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T. G. Masaryka, Kostelec nad Orlicí.
POSLOUPNOST úkol 1_41. ZADÁNÍ Sestavte program, který doplní tabulku nepřímé úměrnosti pro hodnoty proměnné x = 1, …, n. Nepřímá úměrnost je zadána uživatelem.
C# - konverze datových typů Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Formy podnikání Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
ADO.NET – object Connection Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
C – jak na procedury Mgr. Lenka Švancarová. C – procedury #include int main() { printf("Ahoj\n"); return(0); } #include void pozdrav(void) { printf("Ahoj\n");
PŘÍKAZ while úkol 1_42.
Jazyk C A0B36PRI - PROGRAMOVÁNÍ Část II.
C – procedury Mgr. Lenka Švancarová.
Kam se ubírá jazyk C#? Dr. Ing. Dalibor Kačmář Academic Developer Evangelist Developer & Platform Evangelist Group Microsoft Czech & Slovakia Anders Hejlsberg.
Druhy bankovních úvěrů Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
NÁZEV ŠKOLY: Střední odborná škola Net Office, spol. s r.o., Orlová-Lutyně AUTOR: Ing. Adéla Tomalová NÁZEV: Podpora výuky v technických oborech TEMA:
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: Střední odborná škola Net Office, spol. s r.o., Orlová-Lutyně AUTOR: Ing. Adéla Tomalová NÁZEV: Podpora výuky v technických oborech TEMA:
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ě
NÁZEV ŠKOLY: Střední odborná škola Net Office, spol. s r. o
NÁZEV ŠKOLY: Střední odborná škola Net Office, spol. s r. o
C# přehled vlastností.
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o., Orlová-Lutyně
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o., Orlová-Lutyně
Transkript prezentace:

C# - funkce a procedury Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí

Procedury a funkce - použití Usnadňuje přehlednost kódu Zaručuje snadnější modifikaci Zefektivňuje jak provádění tak psaní zdrojového kódu Správné použití eliminuje výskyt chyb Usnadňuje rozšiřitelnost

Co je to metoda ?  C# obecně nerozlišuje procedury a funkce jako např VB.NET (kde function a procedure jsou klíčová slova)  Rozdíl mezi nimi je vlastně pouze formální v tom že návratová hodnota procedury je na rozdíl od funkce VOID (nic)  Metoda může tedy být jak funkce tak procedura  Toto označení je běžné v OOP

Procedury  Procedura je vlastně speciální druh funkce – jednodušší  Nevrací žádné hodnoty ( VOID – prázdnota )  Př.: void Pozdrav(){ Console.Write(„Hello !“); } void Page_Load(){ Pozdrav(); // nyní jsme zavolali proceduru Pozdrav() => Vypíše se Hello ! }

Procedury s parametry  lze jimi ovlivnit chování procedury public static void Pozdrav(string myStrPozdrav){ Console.Write(myStrPozdrav ); } static void Main() { string myPozdrav; myPozdrav = "Hello"; Pozdrav(myPozdrav); }

Funkce  Na rozdíl od procedury vrací nějakou hodnotu  Typ návratové hodnoty je nutné uvést v hlavičce funkce  Př.: static int Secti(int a, int b) { int vysledek = a + b; return vysledek; }

Úkol  Vypracujte krátký program který umožní vyhledat z čísel 2 až 1000 všechna prvočísla  Použijte v programu proceduru JePrvocislo, která ověří číslo a vrátí boolean hodnotu

Přetěžování metod  Přetěžování znamená, že metoda s jedním názvem se v závislosti na způsobu volání chová různým způsobem.  Základními způsoby přetěžování může být například různé chování v závislosti na typu objektu nad kterým je metoda volána (např.: Vykresli nad objektem kružnice a Vykresli nad objektem čtverec se mohou z důvodu čitelnosti a přehlednosti kódu jmenovat stejně, ale obě funkce vykonají jinou činnost) – tomuto typu přetěžování se budeme věnovat po úvodu do OOP  Druhým typem přetěžování funkcí může být požadavek na rozdílné chování funkce se stejným názvem v závislosti na počtu jejích parametrů.

Přetěžování metod v závislosti na počtu parametrů Odhadněte výstup následujícího programu using System; class Overload { public void ovlDemo() { Console.WriteLine(„Bez parametrů"); } // Přetížená ovlDemo pro jeden int parametr. public void ovlDemo(int a) { Console.WriteLine(„Jeden parametr: " + a); } // Overload ovlDemo pro dva int parametry. public int ovlDemo(int a, int b) { Console.WriteLine(„Dva parametry: " + a + " " + b); return a + b; } // Overload ovlDemo pro dva double parametry. public double ovlDemo(double a, double b) { Console.WriteLine(„Dva dbl parametry: " +a + " "+ b); return a + b; } } class MainClass { public static void Main() { Overload ob = new Overload(); int resI; double resD; // volání všech funkcí ovlDemo() ob.ovlDemo(); Console.WriteLine(); ob.ovlDemo(2); Console.WriteLine(); resI = ob.ovlDemo(4, 6); Console.WriteLine(„Výsledek ob.ovlDemo(4, 6): " + resI); Console.WriteLine(); resD = ob.ovlDemo(1.1, 2.32); Console.WriteLine(„Výsledek ob.ovlDemo(1.1, 2.32 ): " + resD); } }

Výsledek Bez parametrů Jeden parametr: 2 Dva parametry: 4 6 Výsledek ob.ovlDemo(4, 6): 10 Dva dbl parametry: Výsledek ob.ovlDemo(1.1, 2.32): 3.42

Vliv konverzí na přetěžované funkce prohlédněte si následující kód a odhadněte výstup programu using System; class Overload2 { public void f(int x) { Console.WriteLine(„Uvnitř f(int): " + x); } public void f(double x) { Console.WriteLine(„Uvnitř f(double): " + x); } } class MainClass { public static void Main() { Overload2 ob = new Overload2(); int i = 10; double d = 10.1; byte b = 99; short s = 10; float f = 11.5F; ob.f(i); // volání ob.f(int) ob.f(d); // volání ob.f(double) ob.f(b); // volání ob.f(int) -- typová konverze ob.f(s); // volání ob.f(int) -- typová konverze ob.f(f); // volání ob.f(double) -- typová konverze } }

Vliv konverzí na přetěžované funkce prohlédněte si následující kód a odhadněte výstup programu using System; class Overload2 { public void f(int x) { Console.WriteLine(„Uvnitř f(int): " + x); } public void f(double x) { Console.WriteLine(„Uvnitř f(double): " + x); } } class MainClass { public static void Main() { Overload2 ob = new Overload2(); int i = 10; double d = 10.1; byte b = 99; short s = 10; float f = 11.5F; ob.f(i); // volání ob.f(int) ob.f(d); // volání ob.f(double) ob.f(b); // volání ob.f(int) -- typová konverze ob.f(s); // volání ob.f(int) -- typová konverze ob.f(f); // volání ob.f(double) -- typová konverze } } Uvnitř f(int): 10 Uvnitř f(double): 10.1 Uvnitř f(int): 99 Uvnitř f(int): 10 Uvnitř f(double): 11.5

13 Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí Použité materiály: Kniha: Programujeme profesionálně, nakladatelství WROX, autor: Jay Glynn,… Seriály o programování v jazyce C# :