Увод у објекте у Ц #
Као што је већ познато, Ц # је објектно оријентисани програмски језик и изговара се као Ц Схарп. Иако је Ц # еволуиран од Ц ++, обојица се разликују једни с другима. Основне разлике могу се разумети кроз Ц ++ и Ц #.
Објект је инстанца класе. Овде се меморија додељује динамички за обезбеђивање резултата одређеног програма. Па, како објаснити ову динамичку алокацију? Покушао бих то објаснити на мало нетехнички начин. Објекти су створени за приступ различитим функцијама или варијаблама које су дефиниране у класи. Дакле, објекат не зна којем ће типу података заправо приступити. Дакле, након што добије вредност од приступаних елемената, динамички би се распоређивала меморија.
Креирање објекта
Опћенито, објект се може створити на 2 начина. Једна од њих је употреба команде „нев“. Општа синтакса за објект је испод:
Class-name object-name = new Class-name();
И тада помоћу назива објекта можемо приступити одговарајућим методама и варијаблама које су дефиниране унутар класе.
Други начин дефинирања објекта је упућивање на други објект. Нешто као додељивање вредности.
Class-name object-name1 = new Class-name();
Class-name object-name2;
Object-name2=object-name1;
И можемо приступити променљивој и методама у класи користећи објекте, име-објекта1 и објект-име2.
Примери објеката у Ц #
Овде ћемо имати један пример за сваки начин креирања објекта у Ц #.
Испод је програм за проналажење квадрата броја.
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);
)
)
Излаз:
Дакле, у горе наведеном програму
- Направили смо класу Скуаре и написали две функције унутар класе. Једна функција која је уједно и конструктор (име функције исто као и за име класе) је за унос вредности броја, а друга за обављање стварне операције.
- У нашој класи Прва која у себи има главну функцију, иницијализирали смо објект и прешли у параметар, за који број заправо желимо да извршимо квадратну операцију.
- И прогласили смо променљив резултат; преносимо излаз методи објекта 'Ск' којој приступа објект, што чини стварну операцију.
- Коначно излазимо квадратни резултат на нашој конзоли.
За наш следећи начин креирања објекта, пример је следећи:
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);
)
)
Излаз:
А овом проширењу можемо чак и доделити вредност нашој варијабли користећи објект. Да видимо како то можемо учинити.
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);
)
)
Овде смо приступили променљивој и променили њену вредност са 6 на 7. Затим се излаз штампа након иницијализације вредности у нови резултат променљиве3. Добивени резултат је испод.
Излаз:
До овде смо креирали објект и референцирали га кроз један текстуални формат. Сада да видимо шта ако нам треба низ објеката за складиштење и манипулирање нашим подацима.
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);
)
)
У горњем програму, исто као и прије него што смо креирали низ објеката и додијелили вриједност сваком објекту. Затим смо извршили своју другу функцију за генерисање квадрата од два броја.
Резултат горе наведеног лежи као испод:
Излаз:
Можете ли покушати учитати оцјене 5 ученика из 3 предмета користећи низ предмета?
Закључак
Као што се види горе, успешно смо креирали објект на различите начине и користили га у додељивању вредности променљивим и позивању функција које су присутне унутар класе. Али овде морамо да разумемо и следимо неколико правила која се заснивају на модификаторима приступа. Објекат не може приступити променљивим / функцијама са "приватним" модификатором приступа који припада другој класи. Али може приступити варијаблама или функцијама исте класе иако је декларисано приватним модификатором. Дакле, на овај начин постоји скуп правила која су дефинисана у односу на класе, променљиве, функције и објекте.
Покушајте да се играте у креирању објеката на различите начине са различитим модификаторима приступа и проверите резултате како бисте се упознали са обимом предмета и наставили са учењем.
Препоручени чланци
Ово је водич за Објекте у Ц #. Овде смо размотрили различите начине креирања објеката у Ц # заједно са примерима и његовом имплементацијом кода. Такође можете погледати следеће чланке да бисте сазнали више -
- Деструктор у Ц #
- Ц # назубљени низови
- Ц # функције
- Шта је Мултитхреадинг у Ц #?
- Објект на Јави
- Методе мултитхреадинг-а у Ц #