Základ C# 8 – Objekty a Triedy [Objects and Classes]

Objekty a triedy sú funkciou objektovo orientovaných jazykov, ako C#. Dovoľujú oddeliť rovnaké časti programu od seba a následne ich upravovať bez toho, aby sa navzájom ovplyvňovali.

Objekty v jazyku C# fungujú podobne ako objekty v reálnom svete. Ako objekt v programe môžete chápať používateľa – naraz ich môže byť viac, riadia sa rovnakými pravidlami, ale niektoré veci v nich sú iné – niektoré ich vlastnosti, hodnoty premenných. Čo je to vlastne objekt v C#? Všetko. Všetko, čo v jazyku C# použijete je chápané ako objekt – preto sa mu hovorí objektovo orientovaný jazyk. My, ako používateľ, však väčšinu objektov nevidíme priamo. Čo ako objekty vidíme priamo sú premenné.

Ako vytvoriť objekt

Objekt v jazyku C# je možné vytvoriť rovnako ako iné premenné – Definíciou alebo Deklaráciou, a je nutné aby bol Inicializovaný. Ako príklad tvorby objektu použijeme triedu Random – často používanú triedu na generovanie náhodných čísel.

Random random = new Random();

Týmto kódom sme vytvorili nový objekt typu Random, priradili sme mu meno random a ako hodnotu sme mu priradili novú inštanciu [instance] typu Random. Nová inštancia typu sa dá získať  vždy napísaním slova new, za ním mena typu a zátvoriek s parametrami.

Použitie objektu

tento objekt je následne možné použiť a vygenerovať náhodné číslo.

int cislo = random.Next();

Použitie objektu prebieha napísaním jeho mena a bodky, ktorou s dostanete k jeho členom. V tomto prípade je jeho členom aj metóda Next, tá má ešte alternatívu, pri ktorej je možné zadať maximálnu alebo aj minimálnu hodnotu.

int cislo1 = random.Next(5); //vygeneruje náhodné číslo od 0 do 4
int cislo2 = random.Next(3,9); //vygeneruje náhodné číslo od 3 do 8

Konštruktor

Konštruktor [Constructor] je metóda, pomocou ktorej objekt vytvoríme. V prípade triedy Random je možné použiť konštruktor bez parametrov, ale obsahuje aj preťažený konštrukor, do ktorého je možné zadať parameter, a to seed, čo je hodnota, podľa ktorej sú ďalšie čísla generované.

Random random = new Random(3000);

V tejto inštancií sme použili konštruktor triedy Randomint hodnotu 3000.

Predávanie

Objekty je možné predať metódam ako parametre. Existujú dva druhy ako predať parameter – predať jeho hodnotu, alebo referenciu [reference]. Premenné, sú v základnom stave predávané ako hodnoty. Objekty naopak ako referencie.

static void Main(string[] args)
{
   int a = 3;
   Zvacsi(a)
   Console.WriteLine(a);
}

static void Zvacsi(int a)
{
   a = a + 1;
}

Metóda Zvacsi má ako parameter premennú a, ktorú vnútri funkcie zväčšíme o 1. Lenže tým že premenné predávajú len svoju hodnotu, tak po vypísaní premennej a v metóde Main a na obrazovke objaví len číslo 3 a nie 4.

Objekty fungujú presne naopak – ak by a bola objekt, tak by predal svoju referenciu, a teda by bol ovplyvnení a výsledok by bol číslo 4. Predanie premennej ako referencie je možné vynútiť slovom ref.

static void Main(string[] args)
{
   int a = 3;
   Zvacsi(a)
   Console.WriteLine(ref a);
}

static void Zvacsi(ref int a)
{
   a = a + 1;
}

V tomto príklade odovzdáva premenná svoju referenciu a tým sa po jej vypísaní v metóde Main objaví na obrazovke číslo 4.

Zber odpadu

Zber odpadu je dôležitá funkcia jazykov rodiny .Net – je to vstavaný spôsob ako sa jazyk sám zbavuje už nepoužívaných objektov a tým šetrí pamäť počítača. V niektorých iných jazykoch je toto nutné robiť manuálne, ale v jazyku C# sa o toto starať nemusíte a prostredie .Net to väčšinou robí za vás. V prípade že je nutné ručné odstránenie objektu, tak sa na to používa opak Konštruktoru – Deštruktor.

V budúcom diely sa pozrieme na to, ako triedy vyrábať, ako písať konštruktori a čo sú to modifikátori.

Pridajte Komentár

Vaša e-mailová adresa nebude zverejnená.

Scroll to Top