19. - 20. jazyk C# Flashcards
základní vlastnosti C#
- Rozlišujeme velikost písmen
- Bílé znaky se ignorují (mezery, vynechané řádky, tabulátory…)
- Řádky se zakončují středníkem (kromě konce bloků {})
- Plně objektový (všechny typy jsou třídy nebo struktury mající metody, vlastnosti, …)
- Sada rezervovaných slov (malými písmeny), která nelze použít jiným způsobem (Color, Vector3, Float, …)
- Je typový – vše má definovaný datový typ až na výjimky (typy, co se dají implicitně konvertovat) se musí např. při porovnání nebo přiřazení typ shodovat
- Nepoužívá se diakritika (jen v komentářích)
jak pojmenováváme věci (pomocí jakých velikostí písem?)
- PascalCase – je-li název složenina, každé slovo začíná velkým písmenem (DateTime, SpriteRenderer)
- camelCase – výjimka pro parametry metod a lokálních proměnných (pozice, barva, posledniSlovo)
co je to postprocesor, čím začíná a co definuje?
program co provede předzpracování
začíná #
definuje například region (zabalitelý blok kódu)
jaká je struktura kódu C#?
- importy jmenných souborů (using)– např. using UnityEngine.UI
- definice vlastního jmenného prostoru (namespace) – následuje blok do kterého se píše zbytek (namespace Nepratele {….} )
- definice třídy (class), struktury (struct) nebo výčtového typu (enum) – následuje blok do kterého se píše vše další (např. public class Ovladani {…})
jaké máme druhy komentářů?
- řádkový komentář – začíná // zbytek řádku je pak považován za komentář
- blokový komentář – začíná /* končí */ vše mezí tím je komentář
jak dělíme datové typy a proměnné?
- hodnotové – obsahují hodnotu (int, bool, float, char, struct, enum…)
- referenční – obsahují odkaz na skutečnou hodnotu (string, class, array…)
jaký je rozdíl mezi datovými typy a promměnou?
- od datového typu lze vytvořit proměnnou (variable) nebo položku (field)
- proměnná je krabička, která informaci uchovává a může se i časem změnit (je proměnlivá)
- její hodnota se musí nastavit (zapsat) a pak je možno ji číst
jaké máme základní datové typy?
o Int – celé číslo
o Float – reálné (desetinné) číslo
o Bool – logická hodnota = true/false
o Char – právě jeden znak uzavřený v apostrofech např. ‘a’
o String – libovolný (i nulový) počet znaků, uzavřených v závorkách např. „figurka“ , „“
jaké máme speciální typy?
- Null – není datový typ ale hodnota, říkající že reference na objekt neexistuje
- Void – nelze od něj vytvořit proměnnou, speciální hodnota pro signalizaci, že metoda nic nevrací
- Nullable – kromě původní hodnoty umožňuje uložit také hodnotu null, zkrácený zápis je přidání ? za jméno typu např. int? Číslo = null;, disponuje vlastními metodami či vlastnostmi
o Value – přes kterou se přistupuje na původní datový typ, např. cislo.Value
o HasValue, vrací bool, a říká, že je do proměnné přiřazena skutečná hodnota, např. cislo.HasValue - Enum – možnost definovat výčtový typ (seznam všech možných hodnot), výhoda je kontrola nad těmito hodnotami (jiné než vyjmenované nelze použít), položky jsou poté „Smer.Nahoru“
co to jsou strukturované datové typy a co používáme pro jejich tvorbu?
- Null – není datový typ ale hodnota, říkající že reference na objekt neexistuje
- Void – nelze od něj vytvořit proměnnou, speciální hodnota pro signalizaci, že metoda nic nevrací
- Nullable – kromě původní hodnoty umožňuje uložit také hodnotu null, zkrácený zápis je přidání ? za jméno typu např. int? Číslo = null;, disponuje vlastními metodami či vlastnostmi
o Value – přes kterou se přistupuje na původní datový typ, např. cislo.Value
o HasValue, vrací bool, a říká, že je do proměnné přiřazena skutečná hodnota, např. cislo.HasValue - Enum – možnost definovat výčtový typ (seznam všech možných hodnot), výhoda je kontrola nad těmito hodnotami (jiné než vyjmenované nelze použít), položky jsou poté „Smer.Nahoru“
operátor NEW
jaké máme strukturované datové typy?
o Array – pole, obsahuje hodnoty stejného typu adresované indexem (int). Index se zapisuje do [ ], první buňka má index 0, poslední délka pole -1. Používají se pro ukládání opakujících se informací, prochází se pomocí smyček.
o Class – slouží pro definici třídy
o Struct – téměř to samé jako class, liší se v detailech
Od struktury nelze dědit potomka
Na rozdíl od class patří mezi hodnotové typy
co jsou to operátory a výrazy a co je u nich pevně dáno?
- Výrazem je přímo zapsaná hodnota, proměnná nebo operace využívající operátor/y
- Výraz je vždy nějakého datového typu
- Operátory mají pevně danou prioritu, kterou lze měnit pomocí ( ) ve výrazu
co obsahuje class a jak k nim přistupujeme?
členy, přistupujeme k nim ořes operátor tečka “.”
jaké druhy class (jejich viditelnost) máme?
o Public – veřejný člen, viditelný odkudkoliv
o Protected – chráněný, viditelný z dané třídy potomků
o Private – soukromý člen, viditelný jen z dané třídy
jaké máme členy tříd?
- Položky proměnné třídy deklarují stejně jako jiné proměnné
- Oproti jiným proměnným mají navíc viditelnost (Např. public inf float)
- Metody – funkce třídy, samostatný spustitelný blok programu, metody mají za názvem závorky
- Vlastnosti – proměnné na které je vytvořen speciální přístup přes metody
- Konstanty – neměnná hodnota, automaticky statické