Introducere în obiecte în C #

După cum se știe, C # este un limbaj de programare orientat pe obiecte și se pronunță ca C Sharp. Deși C # a evoluat de la C ++, ambele se diferențiază între ele. Diferențele de bază pot fi înțelese prin intermediul C ++ vs C #.

Obiectul este o instanță a unei clase. Aici memoria este alocată dinamic pentru furnizarea ieșirii unui program dat. Deci, cum putem explica această alocare dinamică? Aș încerca să o explic printr-un mod puțin tehnic. Obiectele sunt create pentru a accesa diferite funcții sau variabile definite în cadrul clasei. Deci, un obiect nu știe ce tip de date urmează să acceseze. Deci, după obținerea valorii din elementele accesate, aceasta ar aranja memoria în mod dinamic.

Crearea unui obiect

În general, un obiect poate fi creat în 2 moduri. Una dintre ele este folosind comanda „nouă”. Sintaxa generală a obiectului este mai jos:

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

Și apoi folosind numele obiectului putem accesa metodele și variabilele care sunt definite în cadrul clasei.

Un alt mod de definire a unui obiect este prin referire la un alt obiect. Ceva de genul atribuirii valorii.

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

Și putem accesa variabila și metodele din clasă folosind obiectele, obiect-name1 și obiect-name2.

Exemple de obiecte în C #

Aici vom avea un exemplu pentru fiecare mod de a crea un obiect în C #.

Mai jos este un program pentru găsirea pătratului unui număr.

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

ieşire:

Deci, în programul de mai sus

  • Am creat un Square Square și am scris două funcții în interiorul clasei. O funcție care este, de asemenea, un constructor (Numele funcției același ca și pentru numele clasei) este de a introduce valoarea unui număr și o altă pentru a efectua operația reală.
  • În clasa noastră First, care are funcția principală în interiorul acesteia, am inițializat obiectul nostru și am trecut în parametrul, pentru care număr dorim de fapt să efectuăm operația pătrată.
  • Și am declarat un rezultat variabil; trecem la ieșirea din metoda „Sq” accesată de obiect, care realizează operația efectivă.
  • În cele din urmă, rezultatul pătrat în consola noastră.

Pentru următorul nostru mod de a crea un obiect, un exemplu este următorul:

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

ieşire:

Și la o extensie la aceasta, putem chiar să atribuim valoare variabilei noastre folosind un obiect. Să vedem cum putem face asta.

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

Aici, am accesat variabila și i-am modificat valoarea de la 6 la 7. Apoi, ieșirea este tipărită după inițializarea valorii la noua variabilă rezultat3. Producția obținută este sub.

ieşire:

Până aici am creat un obiect și l-am referit printr-un format text unic. Acum să vedem ce se întâmplă dacă avem nevoie de o serie de obiecte pentru stocarea și manipularea datelor noastre.

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

În programul de mai sus, la fel ca înainte am creat o serie de obiecte și am atribuit o valoare fiecărui obiect. Am executat apoi a doua funcție pentru a genera pătratul a două numere.

Rezultatele de mai sus sunt următoarele:

ieşire:

Ca exercițiu puteți încerca să încărcați notele a 5 elevi la 3 subiecți folosind un tablou al obiectului?

Concluzie

Așa cum s-a văzut mai sus, am creat cu succes un obiect în moduri diferite și l-am folosit în atribuirea de valori pentru variabile și apelarea funcțiilor care sunt prezente în interiorul clasei. Dar aici, trebuie să înțelegem și să respectăm câteva reguli bazate pe modificatorii de acces. Un obiect nu poate accesa variabile / funcții cu un modificator de acces „privat” care aparține unei alte clase. Dar pot accesa aceleași variabile de clasă sau funcții, deși declarate cu un modificator privat. Astfel, există un set de reguli care sunt definite cu privire la clase, variabile, funcții și obiecte.

Încercați să vă jucați în crearea de obiecte în moduri diferite cu modificatori de acces diferiți și verificați rezultatele pentru a cunoaște sfera obiectelor și a continua învățarea.

Articole recomandate

Acesta este un ghid pentru obiecte din C #. Aici discutăm diferitele moduri de creare a obiectelor în C # împreună cu exemple și implementarea codului său. De asemenea, puteți consulta următoarele articole pentru a afla mai multe -

  1. Distrugător în C #
  2. C # Arrayuri zimțate
  3. C # Funcții
  4. Ce este Multithreading în C #?
  5. Obiect în Java
  6. Metode de multitratare în C #