Introduksjon til objekter i C #

Som allerede kjent er C # et objektorientert programmeringsspråk og uttales som C Sharp. Selv om C # har blitt utviklet fra C ++, skiller begge seg med hverandre. De grunnleggende forskjellene kan forstås gjennom C ++ vs C #.

Objektet er et eksempel på en klasse. Her blir minnet tildelt dynamisk for å gi utdataene fra et gitt program. Så, hvordan kan vi forklare denne dynamiske tildelingen? Jeg ville prøve å forklare det på en lite ikke-teknisk måte. Objekter lages for å få tilgang til forskjellige funksjoner eller variabler som er definert under klassen. Altså, et objekt vet ikke hvilken datatype det faktisk kommer til å få tilgang til. Så etter å ha fått verdien fra de tilgjengelige elementene, ville det arrangere minnet dynamisk.

Opprette et objekt

Generelt kan et objekt opprettes på to måter. En av dem er å bruke den "nye" kommandoen. Den generelle syntaks for objektet er nedenfor:

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

Og så ved å bruke objektnavnet kan vi få tilgang til respektive metoder og variabler som er definert i klassen.

En annen måte å definere et objekt på er med henvisning til et annet objekt. Noe som å tildele verdien.

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

Og vi kan få tilgang til variabelen og metodene i klassen ved å bruke objektene, objekt-navn1 og objekt-navn2.

Eksempler på objekter i C #

Her skal vi ha ett eksempel for hver måte å lage et objekt på i C #.

Nedenfor er et program for å finne kvadratet til et tall.

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

Produksjon:

Så i programmet ovenfor

  • Vi har laget et klassetorg og skrevet to funksjoner inne i klassen. En funksjon som også er en konstruktør (Funksjonsnavn som for klassens navn) er for å legge inn verdien til et nummer og annet for å utføre den faktiske operasjonen.
  • I vår klasse First som har hovedfunksjonen inne i den, har vi initialisert objektet vårt og gitt inn parameteren, for hvilket nummer vi faktisk ønsker å utføre den firkantede operasjonen.
  • Og vi erklærte et variabelt resultat; vi passerer utdataene fra objekttilgangsmetoden 'Sq', som gjør selve operasjonen.
  • Endelig gir vi det firkantede resultatet i konsollen vår.

For vår neste måte å lage et objekt på, er eksemplet som nedenfor:

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

Produksjon:

Og til en utvidelse til dette, kan vi til og med tilordne verdi til variabelen vår ved hjelp av et objekt. La oss se hvordan vi kan gjøre det.

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

Her har vi fått tilgang til variabelen og endret verdien fra 6 til 7. Deretter skrives utskriften ut etter initialisering av verdien til den nye variableresultatet3. Utbyttet oppnådd er under.

Produksjon:

Til her har vi laget et objekt og referert til det gjennom et enkelt tekstformat. La oss nå se hva hvis vi trenger en rekke objekter for å lagre og manipulere dataene våre.

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

I det ovennevnte programmet, det samme som før, har vi opprettet en rekke objekter og tildelt en verdi til hvert objekt. Vi utførte deretter vår andre funksjon for å generere kvadratet med to tall.

Resultatet av ovenstående ligger som nedenfor:

Produksjon:

Kan du prøve å laste inn karakterer av 5 elever i 3 fag ved å bruke en matrise av objektet?

Konklusjon

Som vi har sett ovenfor, har vi med hell laget et objekt på forskjellige måter og brukt det til å tilordne verdier til variabler og kalle funksjonene som er til stede i klassen. Men her må vi forstå og følge noen få regler basert på tilgangsmodifiserere. Et objekt har ikke tilgang til variabler / funksjoner med en "privat" tilgangsmodifiserer som tilhører en annen klasse. Men har tilgang til samme klassevariabler eller -funksjoner, selv om deklareres med en privat modifiserer. Så på denne måten er det et sett med regler som er definert med hensyn til klasser, variabler, funksjoner og objekter.

Prøv å leke rundt i å lage objekter på forskjellige måter med forskjellige tilgangsmodifiserere, og sjekk utgangene for å bli kjent med omfanget av objekter og fortsette å lære.

Anbefalte artikler

Dette er en guide til Objekter i C #. Her diskuterer vi de forskjellige måtene å lage objekter i C # sammen med eksempler og implementering av kode på. Du kan også se på følgende artikler for å lære mer -

  1. Destructor i C #
  2. C # Jagged Arrays
  3. C # Funksjoner
  4. Hva er multithreading i C #?
  5. Objekt i Java
  6. Metoder for multithreading i C #