Introduktion til objekter i C #

Som allerede kendt er C # et objektorienteret programmeringssprog og udtales som C Sharp. Selvom C # er blevet udviklet fra C ++, skelner begge med hinanden. De grundlæggende forskelle kan forstås gennem C ++ vs C #.

Objektet er et eksempel på en klasse. Her tildeles hukommelse dynamisk til levering af output fra et givet program. Så hvordan kan vi forklare denne dynamiske allokering? Jeg ville prøve at forklare det på en lidt ikke-teknisk måde. Objekter oprettes for at få adgang til forskellige funktioner eller variabler, der er defineret under klassen. Så et objekt ved ikke, hvilken datatype det faktisk får adgang til. Så efter at have fået værdien fra de tilgængelige elementer, ville den arrangere hukommelsen dynamisk.

Oprettelse af et objekt

Generelt kan et objekt oprettes på to måder. En af dem er ved at bruge den "nye" kommando. Den generelle syntaks for objektet er nedenfor:

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

Og så ved hjælp af objektnavnet kan vi få adgang til respektive metoder og variabler, der er defineret i klassen.

En anden måde at definere et objekt er ved henvisning til et andet objekt. Noget som at tildele værdien.

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

Og vi kan få adgang til variablen og metoderne i klassen ved hjælp af objekterne, objektnavnet1 og objektnavnet2.

Eksempler på objekter i C #

Her skal vi have et eksempel på hver måde at oprette et objekt på i C #.

Nedenfor er et program til at finde kvadratet med et tal.

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

Produktion:

Så i ovenstående program

  • Vi har oprettet en klassetorv og skrevet to funktioner inde i klassen. En funktion, der også er en konstruktør (Funktionsnavn det samme som for Klassenavn) er til at indtaste værdien af ​​et tal og andet til at udføre den aktuelle handling.
  • I vores klasse First, der har hovedfunktionen inde i det, har vi initialiseret vores objekt 's og givet i parameteren, for hvilket nummer vi faktisk ønsker at udføre firkantoperationen.
  • Og vi erklærede et variabelt resultat; vi videresender output fra metoden 'adgang til metoden' Sq ', der udfører den aktuelle handling.
  • Endelig outputs det firkantede resultat i vores konsol.

For vores næste måde at oprette et objekt på er som følger:

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

Produktion:

Og til en udvidelse til dette kan vi endda tildele værdi til vores variabel ved hjælp af et objekt. Lad os se, hvordan vi kan gø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 adgang til variablen og ændret dens værdi fra 6 til 7. Derefter udskrives output efter initialisering af værdien til det nye variableresultat3. Den opnåede output er nedenfor.

Produktion:

Indtil her har vi oprettet et objekt og henvist til det gennem et enkelt tekstformat. Lad os nu se, hvad hvis vi har brug for en række objekter til at gemme og manipulere vores data.

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 ovenstående program er det samme som før vi har oprettet en række objekter og tildelt en værdi til hvert objekt. Vi udførte derefter vores anden funktion til at generere kvadratet med to tal.

Ovenstående output ligger som nedenfor:

Produktion:

Kan du som en øvelse prøve at indlæse karakterer af 5 studerende i 3 fag ved hjælp af en matrix af objektet?

Konklusion

Som det ses ovenfor, har vi med succes skabt et objekt på forskellige måder og brugt det til at tildele værdier til variabler og kalde de funktioner, der findes i klassen. Men her er vi nødt til at forstå og følge et par regler baseret på adgangsmodifikatorerne. Et objekt kan ikke få adgang til variabler / funktioner med en "privat" adgangsmodifikator, der hører til en anden klasse. Men kan få adgang til samme klassevariabler eller -funktioner, selvom deklareres med en privat modifikator. Så på denne måde er der et sæt regler, der er defineret med hensyn til klasser, variabler, funktioner og objekter.

Prøv at lege rundt i at skabe objekter på forskellige måder med forskellige adgangsmodifikatorer og tjek outputs for at lære omfanget af objekter at kende og fortsætte med at lære.

Anbefalede artikler

Dette er en guide til objekter i C #. Her diskuterer vi de forskellige måder at oprette objekter i C # sammen med eksempler på og dens kodeimplementering. Du kan også se på de følgende artikler for at lære mere -

  1. Destructor i C #
  2. C # Jagged Arrays
  3. C # Funktioner
  4. Hvad er multithreading i C #?
  5. Objekt i Java
  6. Metoder til multithreading i C #

Kategori: