Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr




Download 6,33 Mb.
Pdf ko'rish
bet164/194
Sana20.02.2024
Hajmi6,33 Mb.
#159185
1   ...   160   161   162   163   164   165   166   167   ...   194
Konstruktor oqimini tavsifi 
Oxirida aytish mumkinki, asosiy ajratilgan konstruktorga argumentlarni qayda ishlangan v 
konstruktor unda chaqiruvchi barcha konstruktor qolgan barcha operatsiyalarni bajarishni davom 
ettiradi. G‘oyani aniqlash uchun Motorcycle sinfining konstruktorlarini modifikatsiyalaymiz unga 
Console.WriteLine() chaqiruvini qo‘shgan holda: 
class
Motorcycle
{
public
int
driverIntensity;
public
string
driverName;
// Constructor chaining. 
public
Motorcycle()
{
Console.WriteLine(
"In default ctor"
);
}
public
Motorcycle(
int
intensity)


Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
295 

this
(intensity, 
""
)
{
Console.WriteLine(
"In ctor taking an int"
);
}
public
Motorcycle(
string
name)

this
(0, name)
{
Console.WriteLine(
"In ctor taking a string"
);
}
// This is the 'master' constructor that does all the real work. 
public
Motorcycle(
int
intensity, 
string
name)
{
Console.WriteLine(
"In master ctor "
);
if
(intensity > 10)
{
intensity = 10;
}
driverIntensity = intensity;
driverName = name;
}
...

Motorcycle ob’ekti misolida Main() metodida quyidagilar kiritiladi: 
static
void
Main(
string
[] args)
{
Console.WriteLine(
"***** Fun with class Types *****\n"
);
// Make a Motorcycle. 
Motorcycle c = 
new
Motorcycle(5);
c.SetDriverName(
"Tiny"
);
c.PopAWheely();
Console.WriteLine(
"Rider name is {0}"
, c.driverName);
Console.ReadLine();

Oldingi Main() usulini bajarish natijasida olingan xulosa quyidagi ko‘rinishda bo‘ladi. 
***** Fun with 
class
Types
*****
In master ctor
In ctor taking an 
int
Yeeeeeee Haaaaaeewww!
Yeeeeeee Haaaaaeewww!
Yeeeeeee Haaaaaeewww!
Yeeeeeee Haaaaaeewww!
Yeeeeeee Haaaaaeewww!
Yeeeeeee Haaaaaeewww!
Rider name 
is
Tiny
Konstruktorlarni oqimi mantig‘i quyida tasvirlangan. 

Avvalo konstruktor chaqiruvi hisobiga ob’ekt yaratiladi, u int tipidagi bitta argumentni qabul iladi. 

Konstruktor olingan berilganlarni asosiy konstruktorga uzatadi va qo‘shimcha boshlang‘ich 
argumentlarini taqdim etadi. 

Asosiy konstruktor kiruv belgilarini ob’ektni berilganlar maydoniga o‘zlashtiradi. 


Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
296 
Konstruktorlarni zanjirlarini ko‘rishda ajoyib jihati shundaki, unda bu daturlash shabloni S# ni 
xohlangan versiyasi bilan ishlaydi va .NET platformasi bilan ham ishlaydi. Biroq agar maqsadli 
platform sifatida Net tur hisoblansa yoki keyingi versiya hisoblansa, dasturlash masalasini yanada 
soddalashtirish mumkin, uni majburiy bo‘lmagan argumentlarini ana’naviy konstruktorlar 
darajalarini alternativ sifatida ishlatish hisobiga bo‘ladi.

Download 6,33 Mb.
1   ...   160   161   162   163   164   165   166   167   ...   194




Download 6,33 Mb.
Pdf ko'rish

Bosh sahifa
Aloqalar

    Bosh sahifa



Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr

Download 6,33 Mb.
Pdf ko'rish