Maxsus konstruktorlarni aniqlash Standart konstruktorga o‘xshash sinflarda qo‘shimcha konstruktorlar aniqlanadi. Bunda
ob’ektni foydalanuvchi oddiy va kelishilgan ob’ekt xolatini initsiallovchi usul bilan uni yaratilish
vaqtida ta’minlanadi. Sar sinfini keyingi o‘zgarishiga e’tibor qarating. U endi butun 3 ta
konstruktorni qo‘llab quvvatlaydi.
class
Car
{
// The 'state' of the Car.
public
string
petName;
public
int
currSpeed;
// A custom default constructor.
public
Car()
{
petName =
"Chuck"
;
currSpeed = 10;
}
// Here, currSpeed will receive the
// default value of an int (zero).
public
Car(
string
pn)
{
petName = pn;
}
// Let caller set the full state of the Car.
public
Car(
string
pn,
int
cs)
{
petName = pn;
currSpeed = cs;
}
...
}
1 ta konstruktor ikkinchisidan argumentlar miqdori va tipi bilan aniqlanadi. [2]ning 4-
mavzuda ko‘rsatilganki, usullarni bir xil ism bilan lekin xar hil miqdorda va argumentlarni tiplari
aniqlaydi. Qayta yuklanishi deb ataladi. Shunday qilib Car sinfi qayta yuklangan konstruktorga esa
istalgan xolatda Car ob’ektlarni endi istalgan uning ochiq konstruktorlarida foydalangan xolda
yaratish mumkin.
Masalan:
static
void
Main(
string
[] args)
{
Console.WriteLine(
"***** Fun with Class Types *****\n"
);
Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
290
// Make a Car called Chuck going 10 MPH.
Car chuck =
new
Car();
chuck.PrintState();
// Make a Car called Mary going 0 MPH.
Car mary =
new
Car(
"Mary"
);
mary.PrintState();
// Make a Car called Daisy going 75 MPH.
Car daisy =
new
Car(
"Daisy"
, 75);
daisy.PrintState();
...
}