Bevezetés a C # objektumokba

Mint már ismert, a C # objektum-orientált programozási nyelv, amelyet C Sharp-ként ejtünk. Noha a C # a C ++ -ból fejlődött ki, mindkettő megkülönbözteti egymást. Az alapvető különbségek megérthetők a C ++ és a C # segítségével.

Az objektum egy osztály példánya. Itt a memóriát dinamikusan osztják el egy adott program kimenetének biztosításához. Szóval, hogyan magyarázhatjuk meg ezt a dinamikus elosztást? Megpróbálom kicsit nem technikai módon magyarázni. Objektumokat hoznak létre az osztály alatt meghatározott különböző funkciók vagy változók eléréséhez. Tehát egy objektum nem tudja, melyik adattípushoz valójában hozzáférni fog. Tehát miután megkapta az értéket a hozzáférhető elemekből, dinamikusan rendezi a memóriát.

Objektum létrehozása

Általában egy objektum 2 módon hozható létre. Az egyik az „új” parancs használata. Az objektum általános szintaxisa a következő:

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

Ezután az objektumnév segítségével hozzáférhetünk az osztályon belül meghatározott módszerekhez és változókhoz.

Az objektum meghatározásának másik módja egy másik objektumra való hivatkozás. Valami hasonló az érték hozzárendeléséhez.

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

És az osztályhoz tartozó változót és metódusokat az Object-name1 és Object-name2 használatával érhetünk el.

Példák a C # objektumokra

Itt lesz egy példa az objektumok C # -ben történő létrehozásának minden egyes módjára.

Az alábbiakban egy programot találunk a szám négyzetének meghatározására.

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

Kimenet:

Tehát a fenti programban

  • Létrehoztunk egy Osztályt és két funkciót írtunk az osztályon belül. Az egyik függvény, amely szintén konstruktor (Funkciónév megegyezik az Osztálynévvel), egy szám értékének beírásához, és egy a tényleges művelet végrehajtásához.
  • Az első osztályunkban, amelynek a fő funkciója benne van, inicializáltuk objektumunkat és átadtuk a paramétert, amelynek a számához valójában négyzetműveletet akarunk végrehajtani.
  • És változó eredményt deklaráltunk; átadjuk az objektum-hozzáférésű 'Sq' módszer kimenetét, amely a tényleges műveletet hajtja végre.
  • Végül adja ki a négyzet eredményt a konzolunkban.

Objektum létrehozásának következő módjára az alábbiakban látható példa:

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

Kimenet:

És ennek kibővítéseként egy objektum használatával értéket is hozzá tudunk rendelni a változónkhoz. Lássuk, hogyan tehetjük ezt.

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

Itt hozzáférünk a változóhoz, és annak értékét 6-ról 7-re változtattuk. Ezután a kimenet kinyomtatásra kerül az érték inicializálása után az új változó eredményére3. A kapott output alatti.

Kimenet:

Eddig létrehoztunk egy objektumot, és egyetlen szöveges formátumban hivatkozunk rá. Most nézzük meg, mi történik, ha objektumok tömbjére van szükség adataink tárolására és manipulálására.

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

A fenti programban, ugyanúgy, mint korábban, objektumok tömbjét hoztunk létre, és értéket rendelünk minden objektumhoz. Ezután végrehajtottuk a második funkciónkat, hogy előállítsuk a két szám négyzetét.

A fentiek eredménye az alábbiak szerint alakul:

Kimenet:

Gyakorlatként megpróbálhatja berakni három tanuló 5 hallgatójának pontszámát az objektum tömbjével?

Következtetés

Mint fentebb láttuk, különböző módon sikeresen létrehozott egy objektumot, és arra használtuk, hogy értékeket rendeljünk a változókhoz, és meghívjuk az osztályon belül található funkciókat. De itt meg kell értenünk és be kell tartanunk néhány, a hozzáférés módosítóján alapuló szabályt. Egy objektum nem férhet hozzá a változókhoz / funkciókhoz egy másik osztályhoz tartozó „privát” hozzáférési módosítóval. De hozzáférhet ugyanazon osztályváltozókhoz vagy funkciókhoz, bár egy privát módosítóval deklaráltak. Tehát ilyen módon létezik egy sor szabály, amelyet az osztályok, a változók, a függvények és az objektumok vonatkozásában határoznak meg.

Próbálkozzon játékkal az objektumok létrehozásában különféle módokon, különböző hozzáférési módosítókkal, és ellenőrizze a kimeneteket az objektumok körének megismeréséhez és a tanulás folytatásához.

Ajánlott cikkek

Ez egy útmutató a C # objektumokhoz. Itt tárgyaljuk az objektumok C # -ben történő létrehozásának különféle módjait, példákat és a kód megvalósítását. A következő cikkeket is megnézheti további információkért -

  1. Romboló C # -ben
  2. C # egyenetlen tömbök
  3. C # Funkciók
  4. Mi a többszálú C # -ben?
  5. Objektum Java-ban
  6. A többszálú módszer C # -ben

Kategória: