C# - 3. diel
Základné príkazy, syntax a práca s C#
Minulý diel vás uviedol do prostredia premenných a typov premenných. V tomto dieli sa dozviete niečo viac o základných operáciach a práciach s počítačom.
Metódy
Ako ste už možno vyrozumeli z predošlých dielov, základmi jazyka C# sú triedy, metódy a objekty. Metódy sú prvkom, ktorý obsahuje akcie v určenom poradí. Metódy samotné plávajú v programe. Čakajú kým budú zavolané. jednotlivé akcie sú oddeľované bodkočiarkou, a v prípade väčšej akcie/operácie sa končia zloženou zátvorkou ('}'), čiže koncom bloku. Samotné metódy svoje operácie nevykonajú, pokým ich niečo nezavolá. Volanie metódy je samo o sebe akcia. Na volanie metódy nie je potrebné žiadne kľúčové slovo, ani príkaz.
Štruktúra volania:
Typ.Metoda(argument1, argument2);
alebo
Objekt.Metoda(argument1, argument2);
Prvé volanie volá statickú metódu (kľúčové slovo static), druhé volá členskú metódu. Rozdiel je jednoduchý. Statická metóda je volaná prostredníctvom typu, v ktorom bola vytvorená a členská metóda prostredníctvom objektu. Predstavme si teda, že operačný systém presne vie ako sa nazýva typ, v ktorom je uložená naša metóda Main a že je napísaný v jazyku C#. Ako by asi vyzeralo volanie?
Program.Main();
Poznámka: Výpis je v skutočnosti úplne nereálny, pretože naša metóda Main prijíma aj argumenty spustenia programu.
Vráťme sa teda do reality. Chceme si teda niečo vypísať. Ako?
My sami vo funkcii Main neovládame vstup a výstup. Neovládame nič okrem toho, čo sa nachádza v bloku alebo v danom type. Ale potrebujeme niečo vypísať. Na to, aby sme to urobili potrebujeme zavolať metódu, ktorá vstup a výstup ovláda. Jedná sa teda o statickú metódu 'Write'(písať, píš, zapíš), ktorá ovláda výstup a je obsiahnutá v statickej triede 'Console'. Volanie funkcie teda bude vyzerať takto:
Console.Write();
Poznámka: Všimnite si bodkočiarku, ktorá ide vždy za volaním. Je veľmi podstatná, bez nej vám kompilátor nahlási chybu.
Jedná sa teda o čisté volanie. Ale má to zádrhel. Metódy môžu v type obsahovať viac variant pod tým istým názvom. Čo znamená, že napríklad metóda Main má 18 variant ktoré sa líšia len typom predaných argumentov.
Argumenty (niekde aj ako skutočné parametre) sú hodnoty alebo premenné predávané danej metóde.
Základné hodnoty v jazyku C#:
- 1548524 - celé číslo (integer), hocijaké
- 3.14 - desatinné číslo (floating point number, decimal), hocijaké, musí byť použitá bodka, nie čiarka!
- 'c' - hocjaké písmeno/znak, musia byť použité apostrofy
- "ahoj" - reťazec ahoj alebo iný, musia byť použité úvodzovky
Existuje ešte viac druhov hodnôt. Hodnoty sa odlišujú od kľúčových slov a príkazov:
- static - kľúčové slovo
- "static" - hodnota - reťazec
- using - kľúčové slovo
- "using" - hodnota - reťazec
Teória predávania argumentov je jednoduchá. Stačí napísať hodnoty a oddeľovať ich čiarkou.
Pozor: nemôžete predávať menej alebo viac argumentov ako je napísané v pri vytváraní metódy. Vytváraním metód sa budeme zaoberať neskôr.
Predávanie hodnôt ako argumentov pre metódu Write teda vyzerá takto:
Console.Write("ahoj"); Console.Write(108); Console.Write(3.1458);
Pozor: metóde nemôžte predať hodnotu iného typu, než prijíma. Jedna z variant metódy Write prijíma reťazec, ďalšia zasa celé číslo. No iné metódy nemusia mať varianty pre niektoré typy a nemusia ich prijať (kompilátor ohlási chybu). Pre to je nutné čítať ďalej.
Napíšte teda do tela metódy Main (medzi zložené zátvorky) tento kód:
Console.Write("Toto je môj prvý program. Čítaj a kochaj sa!");
Program spustite.
A nič sa nestalo. Program zobrazil konzolu a hneď ju zasa skryl. Nie je to chyba. Len sme počítaču nepovedali, aby čakal, kým stisneme Enter. Znova to ale nie sme my, kto ovláda vstup. Zavoláme teda príslušnú statickú metódu Read z triedy Console.
Console.Write("Toto je môj prvý program. Čítaj a kochaj sa!"); Console.Read();
Poznámka: Za povšimnutie stojí, že metóda Read nepreberá žiaden argument.
Ak teraz program spustíte, zistíte že sa vám zobrazil zadaný text a že zaň môžete ešte dopisovať text až do stlačenia tlačidla enter.
Teraz už viete predávať hodnoty ako argumenty a viete volať funkcie. Ako malé cvičenie si skúste program násilne vypnúť hneď po vypísaní.
Na tento účel slúži už spomenutá metóda Exit z triedy Environment. Metóda prijíma jeden argument, a to celé číslo ako statusový kód.
Kedže premenné si môžu vymieňať hodnoty, malo by byť možné predávať premenné aj ako argumenty volania metódy. Skúste si spustiť tento kód:
string uvitaciaSprava = "Vitaj v mojom programe!"; Console.WriteLine(uvitaciaSprava); Console.Read();
Po úspešnej kompilácii a spustení sa vám na obrazovku vypíše 'Vitaj v mojom programe!'.
Ak je teda možné predávať hodnoty metódam, logicky by malo byť možné brať hodnoty, ktoré metóda vráti. Metóda Write nevracia žiadnu hodnotu (typ void, podobne ako metóda Main). Ale metóda ReadLine vracia prečítaný reťazec. Skúsme to to.
string retazec; Console.Write("Vitajte v mojom programe. Zadajte nejaký text: "); retazec = Console.ReadLine(); Console.WriteLine("Zadali ste: " + retazec.ToString()); Console.ReadLine();
Ako vidíte, metóda ReadLine bola využitá ako premenná a vrátila zadaný riadok textu.
Poznámka: Spájanie reťazcov sa dá uskutočniť aj operátorom sčítania (+). Ak by bola premenná retazec je typu int a pod., bolo by potrebné využiť členskú metódu ToString pre pretypovanie čísla na reťazec. Metóda ToString vracia reťazec a obsahuje ju každý typ naprogramovaný v jazyku C#, kedže patrí to triedy Object. V tomto kóde nebola vôbec potrebná, ale poslúžila ako názorná ukážka metódy ToString.
Teraz, keď už ovládate základné volania metód v jazyku C#, môžete prejsť k menším ale podstatným dodatkom jazyka.
Komentáre
Na záver si uvedieme malú možnosť jazyka C#.
Kódy v nejakom konkrétnom jazyku sú písané jednotnou syntaxou. Jednotlivé jazyky však umožňujú pre prehľadnosť pridávať a odoberať medzery medzi jednotlivými časťami, kde medzery nehrajú rolu. Samozrejme v kóde sa dajú definovať aj vlastné premenné a to s vlastným názvom. Podobne je to aj s typmi, metódami... Aj rôzne úlohy sa môžu vykonať rozdielne. A na to, aby jeden programátor pochopil druhého sú tu komentáre. V jazyku C# existujú tri druhy komentárov.
Jednoriadkový komentár
Console.Write("ahoj"); //tu je komentár, tento text sa neprekladá tu je text, ktorý sa prekladá
Jednoriadkové komentáre sa začínajú dvojitými lomenými čiarami (//) a končia koncom riadka. Do jednoriadkových komentárov nich sa zvyčajne umiestňuje jednoduchý komentár popisujúci operáciu na danom riadku.
Viacriadkový komentár
Console.Write("ahoj"); /*tu je komentár, tento text sa neprekladá tu je text, ktorý sa neprekladá */ tu je text, ktorý sa prekladá
Viacriadkové komentáre sa začínajú lomenou čiarou + hviezdička (/*) a končia hviezdičkou + lomená čiara (*/). Do viacriadkových komentárov nich sa zvyčajne umiestňuje dlhší komentár popisujúci operáciu v danom bloku, alebo v prípade že sa nachádza na začiatku súboru, uvádza o ňom nejaké informácie.
Dokumentačný komentár
///tu sa nachádza dokumentačný komentár z ktorého môže byť ///generovaná dokumentácia
Z dokumentačných komentárov sa zvyčajne generuje dokumentácia do oddeleného súboru. Komentár sa začína trojitou lomenou čiarou (///) a končí koncom riadka. Do týchto komentárov sa zvyčajne vpisujú špeciálne XML značky, ktoré budú popísané neskôr.
Po prečítaní tohoto článku by ste mali mať aspoň základnú predstavu o metódach, typoch, argumentoch a komentároch.
8 komentárov k článku:
Komentovať môžu iba prihlásení
Zaregistruj sa cez bezplatnú registráciu alebo použi login cez Facebook (FB Connect)
Prihlás sa tu, ak už máš profil na Zajtra.sk:

Tak potom je to OK... Ľudí, čo navštevujú zajtra.sk považujem za nezačiatočníkov (až na pár výnimiek, ktoré potvrdzujú pravidlo).
Keď som uvidel začiatok seriálu, potešil som sa, lebo pohrať sa so C# som chcel už dávno, ale do hĺbky sa s tým budem babrať asi sám.
Tak tých, čo kódiť nevedia, to aspoň z časti nauč, nech sa darí :)
(Ale sledovať letmo budem, možno sa predsa pritrafí aj niečo "zlozitejšie")

Že je to pre začiatočníkov, tak im to nepodáš tak, ako to má byť? Nemusia to vedieť, len preto, že sú začiatočníci? Týmto spôsobom aj začiatočníkom zostane!
Povedz mi, koľko ľudí začína s manažovaným jazykom, ak to s programovaním myslia vážne? Potom to aj tak vyzerá, soft je mega výkonný...
Nepáčia sa mi tie tvoje vety, lebo sú nepresné, vyjadruješ sa zle... A áno, slovíčka hrajú úlohu, keď si to bude každý nazívať po svojom, potom to bude španielska dedina.
Mudrc si ty, ty učíš, ja som stále blb, ja sa učím...

Asi si neuvedomuješ že sa jedná o tutorial pre začiatočníkov. Jasné že viem čo je to overloading, ale netreba to vyťahovať hneď na začiatku, keď ešte ani nevedia, ako sa vytvára metóda.
NEMÔŽEŠ predávať ľubovoľný počet parametrov. Hovoril som: ako je napísané pri vytváraný metódy - čiže jednej. Sústredil som sa na metódu, konkrétne jednu. Hovoril som konkrétne o jednej a o tom, že nemôže presahovať počet formálnych parametrov. Nehovoril som o rôznych variantách.
Skôr ako tunák náš mudrc vytiahne na svet kľúčové slovo 'params', aj v tomto prípade sa jedná o jeden formálny parameter. V tomto prípade ale operátor čiarky oddeľuje jednotlivé časti arrayu.
Keď si sa už raz "učil" programovací jazyk, mal si sa ho učiť poriadne. Vieš keď sa to fláka už pri výbere literatúry (ak vôbec nejaká je), takto to skončí.
Vieš vo všeobecnosti sa v týchto článkoch dá napadnúť mnoho vecí. Kupríkladu:
Metódy sa dajú volať cez delegáty. Volanie cez delegáty pritom vyzerá inak. Je tu tisíc vecí, ktoré sa dajú takto napadnúť. Ja tu však nemôžem rozpísať všetko.
Za všetkými vetami čo si tu dal si stojím, lebo sú pravdivé.
Nechápem zase toto vyjadrenie:
"Nepáči sa mi vetička" .... "Toto sa volá method overloading."
Takže tebe sa nepáči veta len pre to, lebo som tam neuviedol že sa jedná o overloading?
"Pozor: nemôžete predávať menej alebo viac argumentov ako je napísané v pri vytváraní metódy."
Je pravdivá! Jedná sa o vytváranie jednej metódy! Slová "ak máš na to metódu" teda hovoria o konkrétnej situácii, kedy overload existuje. Ale ja som tu hovoril všeobecne.

Nepáči sa mi vetička "Jedná sa teda o čisté volanie. Ale má to zádrhel. Metódy môžu v type obsahovať viac variant pod tým istým názvom."
Toto sa volá method overloading.
Keď si ten method overloading otvoril (asi nevedome), táto veta tiež nie je pravdivá.
"Pozor: nemôžete predávať menej alebo viac argumentov ako je napísané v pri vytváraní metódy."
Môžeš voliť ľubovoľný počet parametrov, pokiaľ na to máš napísanú metódu... Viac tu http://csharp.net-tutorials.com/classes/method-overloading/
Keď už "učíš" programovací jazyk, uč ho správne... Keď sa to fláka od začiatku, ďalej to lepšie nebude...
Novinky
2 rokmi
Aprílové vtípky: Výběr toho nejlepšího kolem počítačů, internetu a techniky
Výběr nejlepších aprílových vtípků 2019
2 rokmi
Fotky Google sa učia lepšie pracovať s dokumentmi
Spoločnosť Google prostredníctvom svojho účtu na sociálnej sieti Twitter oficiálne predstavila novú funkciu svojej aplikácie Fotky Google.
2 rokmi
Gmail dovoľuje naplánovať poslanie emailu neskôr
Spoločnosť Google dnes oznámila pridanie funkčnej novinky do svojej populárnej webmailovej služby Gmail, možnosť naplánovať poslanie emailu na neskôr.
3 rokmi
Používatelia Chrome začali prechádzať na nový rýchlejší Firefox, avizujú dáta Mozilly
Nový lepší a rýchlejší prehliadač Firefox 57 Quantum vyúsťuje zrejme do viac používateľov prechádzajúcich respektíve vracajúcich sa na tento prehliadač z iných prehliadačov, na osobných počítačoch aj smartfónoch.
3 rokmi
Briti dokončili kúpu SK-NIC-u. Nové .sk domény nechávajú za 8.4 eur
Predaj správcu slovenskej domény .sk, SK-NIC, bol dokončený a novým majiteľom po telekomunikačnej skupine Danubiatel, do ktorej patrí napríklad Swan a 4ka, je britská spoločnosť CentralNic.
Staršie novinky »TOP dlhšie
- 01 Farbičky v HTML a CSS, alebo? (889x)
- 02 Tiché COMBO Logitech MK295 (737x)
- 03 Kamery, cloud a bezpečnosť (720x)
- 04 Kingston uvádza 128GB verziu šifrovaného USB (706x)
- 05 Pochopte, ako vytvoriť virtuálny obchod v 6 krokoch (635x)
- Aj ty môžeš byť najčítanejší. Napíš článok »
TOP tento mesiac
- Aj ty môžeš byť najčítanejší. Napíš článok »
Nové články:
- 14.Kingston uvádza 128GB verziu šifrovaného USB
sep - 10.Tiché COMBO Logitech MK295
sep - 24.Farbičky v HTML a CSS, alebo?
aug - 23.Pochopte, ako vytvoriť virtuálny obchod v 6 krokoch
aug - 29.Kamery, cloud a bezpečnosť
jul - Viac »
- Aj ty môžeš byť najčítanejší. Napíš článok »
Pekné veci
Pekné veci
Pekné veci
Pekné veci
Posledné komentáre
- Pokiaľ používaš nejaký lepší bitmapový editor, napr. Photoshop, a chceš robiť retuše, ed...
- Veľmi dobrý článok a pre začiatočníka úplne odrazový mostík. https://ludwaismania1.blogs...
- Nova international a prima lus majú vysporiadané pravs ale aj CNN prima News
- Tv Joj nijako neobmedzuje šírenie médii, ktoré majú vysporiadané licenčné práva pre Slov...
- Nech televizie vrátia naspäť originál verzie a tie internationali nech zrušia. Každý si ...
Kritika
Vieš ako robiť veci lepšie? Pomôž našim odvážnejším členom a skritizuj im projekty!
Reklama
Slovenská IT komunita
Seriály zo Zajtra.sk
· Ako písať blog
· Ako sa stať PHP ninja s Yii Frameworkom
· Aplikácie pre Facebook
· CSS triky
· iOS vývojára príhody a skúsenosti
· Jednoduché programy, ktoré vám ušetria čas
· Modelovanie webového sídla
· Nauč sa CodeIgniter [HD]
· Nauč sa jQuery [HD]
· Nette PHP framework
· OOP v Javascripte
· Programujeme v Jave
· Programujeme v Lazaruse
· Programujeme v Pythone
· Robíme Eshop v ASP.NET Web Pages
· Slovenskí iOS developeri
· Webdizajn krok po kroku
· Yablkov TurboTip [HD]
Je to super, len tak ďalej a hlavne po lopate tak ako doteraz.
Spokojnosť.