Úvod do objektov v C #

Ako už bolo známe, C # je objektovo orientovaný programovací jazyk a vyslovuje sa ako C Sharp. Hoci sa C # vyvinul z C ++, obidve sa navzájom odlišujú. Základné rozdiely je možné pochopiť pomocou C ++ verzus C #.

Objekt je inštanciou triedy. Tu je dynamicky alokovaná pamäť na zabezpečenie výstupu daného programu. Ako teda môžeme vysvetliť toto dynamické rozdelenie? Pokúsil by som sa to vysvetliť trochu netechnickým spôsobom. Objekty sa vytvárajú na prístup k rôznym funkciám alebo premenným, ktoré sú definované v rámci triedy. Objekt teda nevie, aký typ údajov má v skutočnosti prístup. Takže po získaní hodnoty z prístupových prvkov by dynamicky usporiadala pamäť.

Vytvorenie objektu

Všeobecne možno objekt vytvoriť dvoma spôsobmi. Jedným z nich je použitie príkazu „nový“. Všeobecná syntax objektu je uvedená nižšie:

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

A potom pomocou názvu objektu máme prístup k príslušným metódam a premenným, ktoré sú definované vo vnútri triedy.

Ďalším spôsobom, ako definovať objekt, je odkaz na iný objekt. Niečo ako priradenie hodnoty.

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

K premennej a metódam v triede môžeme pristupovať pomocou objektov, object-name1 a object-name2.

Príklady objektov v C #

Tu budeme mať jeden príklad pre každý spôsob vytvorenia objektu v C #.

Nižšie je uvedený program na nájdenie štvorca čí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ýkon:

Takže v uvedenom programe

  • Vytvorili sme triedu Square a do triedy napísali dve funkcie. Jedna funkcia, ktorá je tiež konštruktorom (názov funkcie je rovnaký ako v prípade názvu triedy), je zadávanie hodnoty čísla a druhá na vykonávanie skutočnej operácie.
  • V našej triede First, ktorá má vo vnútri hlavnú funkciu, sme inicializovali náš objekt 's' a odovzdali parameter, pre ktoré číslo chceme vlastne vykonávať štvorcovú operáciu.
  • A vyhlásili sme variabilný výsledok; odovzdávame výstup metódy „Sq“ na prístup k objektom, ktorá vykonáva skutočnú operáciu.
  • Konečným výstupom štvorcového výsledku v našej konzole.

Ako príklad uvádzame nasledujúci spôsob vytvorenia objektu:

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ýkon:

A k tomuto rozšíreniu môžeme pomocou objektu priradiť hodnotu aj našej premennej. Pozrime sa, ako to môžeme urobiť.

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);
)
)

Tu sme sa dostali k premennej a zmenili sme jej hodnotu zo 6 na 7. Výstup sa potom vytlačí po inicializácii hodnoty na novú premennú result3. Získaný výstup je nižšie.

Výkon:

Doteraz sme vytvorili objekt a odkazovali sme ho na jeden textový formát. Teraz sa pozrime, čo keď budeme vyžadovať, aby na ukladanie a manipuláciu s našimi údajmi bolo potrebných niekoľko objektov.

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);
)
)

Vo vyššie uvedenom programe, rovnako ako predtým, sme vytvorili pole objektov a každému objektu priradili hodnotu. Potom sme vykonali druhú funkciu a vygenerovali druhú mocninu dvoch čísel.

Výstup vyššie uvedeného spočíva nižšie:

Výkon:

Ako cvičenie môžete vyskúšať načítavanie známok 5 študentov do 3 predmetov pomocou poľa objektu?

záver

Ako sme videli vyššie, úspešne sme vytvorili objekt rôznymi spôsobmi a použili sme ho na priradenie hodnôt premenným a volanie funkcií, ktoré sú prítomné vo vnútri triedy. Ale tu musíme pochopiť a riadiť sa niekoľkými pravidlami založenými na modifikátoroch prístupu. Objekt nemôže získať prístup k premenným / funkciám pomocou „súkromného“ modifikátora prístupu, ktorý patrí do inej triedy. Môžu však pristupovať k premenným alebo funkciám rovnakej triedy, aj keď sú deklarované súkromným modifikátorom. Týmto spôsobom existuje súbor pravidiel, ktoré sú definované s ohľadom na triedy, premenné, funkcie a objekty.

Skúste si pohrať pri vytváraní objektov rôznymi spôsobmi s rôznymi modifikátormi prístupu a pozrite si výstupy, aby ste spoznali rozsah predmetov a pokračovali v učení.

Odporúčané články

Toto je sprievodca Objects in C #. Tu diskutujeme rôzne spôsoby vytvárania objektov v C # spolu s príkladmi a implementáciou kódu. Ďalšie informácie nájdete aj v nasledujúcich článkoch -

  1. Destruktor v C #
  2. C # Jagged Arrays
  3. C # Funkcie
  4. Čo je multithreading v jazyku C #?
  5. Objekt v Jave
  6. Metódy viacvláknového spracovania v C #

Kategórie: