Úvod do objektů v C #

Jak již bylo známo, C # je objektově orientovaný programovací jazyk a je vyslovován jako C Sharp. Ačkoli se C # vyvinul z C ++, oba se navzájem liší. Základní rozdíly lze chápat pomocí C ++ vs. C #.

Objekt je instancí třídy. Zde je dynamicky přidělena paměť pro poskytování výstupu daného programu. Jak tedy můžeme vysvětlit tuto dynamickou alokaci? Zkusil bych to vysvětlit trochu netechnickým způsobem. Objekty jsou vytvářeny pro přístup k různým funkcím nebo proměnným, které jsou definovány ve třídě. Objekt tedy neví, ke kterému datovému typu bude skutečně přistupovat. Takže po získání hodnoty z přístupových prvků by paměť dynamicky uspořádala.

Vytvoření objektu

Obecně lze objekt vytvořit dvěma způsoby. Jedním z nich je použití příkazu „nový“. Obecná syntaxe objektu je níže:

Class-name object-name = new Class-name();

A pak pomocí názvu objektu máme přístup k příslušným metodám a proměnným, které jsou definovány uvnitř třídy.

Dalším způsobem, jak definovat objekt, je odkaz na jiný objekt. Něco jako přiřazení hodnoty.

Class-name object-name1 = new Class-name();
Class-name object-name2;
Object-name2=object-name1;

A můžeme přistupovat k proměnné a metodám ve třídě pomocí objektů, object-name1 a object-name2.

Příklady objektů v C #

Zde budeme mít jeden příklad pro každý způsob vytvoření objektu v C #.

Níže je uveden program pro nalezení čtverce čísla.

using System;
class Square
(
public int side;
public Square(int a)
(
side=a;
)
public int Sq()
(
return side*side;
)
)
class First
(
static void Main(String () args)
(
int result;
Square s= new Square(4);
result=s.Sq();
Console.WriteLine("Square of the given number is " + result);
)
)

Výstup:

Takže ve výše uvedeném programu

  • Vytvořili jsme třídu Square a ve třídě jsme napsali dvě funkce. Jedna funkce, která je také konstruktorem (název funkce stejný jako pro název třídy), je pro zadání hodnoty čísla a jiná pro provedení skutečné operace.
  • V naší třídě První, která má v sobě hlavní funkci, jsme inicializovali náš objekt 's' a předali v parametru, pro které číslo chceme ve skutečnosti provádět čtvercovou operaci.
  • A deklarovali jsme variabilní výsledek; předáváme výstup metody „Sq“ s přístupem k objektu, která provádí skutečnou operaci.
  • Konečně výstupem čtvercového výsledku v naší konzoli.

Příklad našeho dalšího způsobu vytváření objektu je následující:

using System;
class Square
(
public int side;
public Square(int a)
(
side=a;
)
public int Sq()
(
return side*side;
)
)
class First
(
static void Main(String () args)
(
int result1, result2;
Square s1= new Square(4);
Square s2;
s2=s1;
result1=s1.Sq();
result2=s2.Sq();
Console.WriteLine("Square of the given number is " + result1);
Console.WriteLine("Square of the given number is " + result2);
)
)

Výstup:

A k tomuto rozšíření můžeme dokonce přiřadit hodnotu naší proměnné pomocí objektu. Uvidíme, jak to dokážeme.

using System;
class Square
(
public int Side;
public Square(int side)
(
Side=side;
)
public int Sq()
(
return Side*Side;
)
)
class First
(
static void Main(String () args)
(
int result1, result2, result3;
Square s1= new Square(4);
Square s2= new Square(6);
result1=s1.Sq();
result2=s2.Sq();
s2.Side=7;
result3=s2.Sq();
Console.WriteLine("Square of the given number is " + result1);
Console.WriteLine("Square of the given number is " + result2);
Console.WriteLine("Square of the given number is " + result3);
)
)

Zde jsme přistoupili k proměnné a změnili její hodnotu z 6 na 7. Poté se výstup vytiskne po inicializaci hodnoty na novou proměnnou result3. Získaný výstup je níže.

Výstup:

Doposud jsme vytvořili objekt a odkazovali jsme jej na jeden textový formát. Nyní se podívejme, co když budeme vyžadovat řadu objektů pro ukládání a manipulaci s našimi daty.

using System;
class Square
(
public int Side;
public void Sqr(int side)
(
Side=side;
)
public int Sq()
(
return Side*Side;
)
)
class First
(
static void Main(String () args)
(
int result1, result2, result3;
Square() sq = new Square(3);
sq(0)= new Square();
sq(1)= new Square();
sq(2)= new Square();
sq(0).Side=13;
sq(1).Side=85;
sq(2).Side=25;
result1=sq(0).Sq();
result2=sq(1).Sq();
result3=sq(2).Sq();
Console.WriteLine("Square of the given number is " + result1);
Console.WriteLine("Square of the given number is " + result2);
Console.WriteLine("Square of the given number is " + result3);
)
)

Ve výše uvedeném programu, stejně jako dříve, jsme vytvořili řadu objektů a každému objektu přiřadili hodnotu. Poté jsme provedli druhou funkci a vytvořili druhou mocninu dvou čísel.

Výstup výše leží níže:

Výstup:

Jako cvičení si můžete vyzkoušet načtení známek 5 studentů do 3 předmětů pomocí pole objektu?

Závěr

Jak jsme viděli výše, úspěšně jsme vytvořili objekt různými způsoby a použili jsme jej při přiřazování hodnot proměnným a vyvolání funkcí, které jsou uvnitř třídy. Zde však musíme pochopit a dodržovat několik pravidel založených na modifikátorech přístupu. Objekt nemůže přistupovat k proměnným / funkcím pomocí „soukromého“ modifikátoru přístupu, který patří do jiné třídy. Mají však přístup k proměnným nebo funkcím stejné třídy, i když jsou deklarovány soukromým modifikátorem. Takto tedy existuje sada pravidel, která jsou definována s ohledem na třídy, proměnné, funkce a objekty.

Vyzkoušejte různé způsoby vytváření objektů s různými modifikátory přístupu a podívejte se na výstupy, abyste se seznámili s rozsahem objektů a pokračovali v učení.

Doporučené články

Toto je průvodce objekty v C #. Zde diskutujeme různé způsoby vytváření objektů v C # spolu s příklady a implementací kódu. Další informace naleznete také v následujících článcích -

  1. Destruktor v C #
  2. C # Jagged Arrays
  3. C # Funkce
  4. Co je multithreading v C #?
  5. Objekt v Javě
  6. Metody multithreadingu v C #

Kategorie: