Олий таълим ўқув режаларидаги фанларга



Download 4,03 Mb.
bet53/102
Sana23.02.2022
Hajmi4,03 Mb.
#136190
1   ...   49   50   51   52   53   54   55   56   ...   102
Bog'liq
Dasturlash asoslari majmua

Диққат. Қиймат қайтармайдиган усул алоҳида оператор билан чақирилади, қиймат қайтарувчи усуллар эса қиймат бериш операторининг ўнг томонида кўрсатилади.
Усул сарлавҳасида тавсифланадиган Параметрлар усулга узатиладиган аргументлар тўпламидан иборат бўлади. Аргументлар рўйхати усулаг мурожат қилинганда худди параметрлар рўйхати устига қўйилгандек бўлади ва шу сабабли улар жуфт-жуфти билан бир-бирига мос бўлиши талаб қилинади. Масалан, Sin усулининг сарлавҳаси қуйидагича бўлиши мумкин:
public static double Sin( double a );
Усулнинг номи унинг параметрлари, типи, спецификаторлари билан биргаликда унинг сигнатурасини ташкил қилади. Синф таркибида бир хил сигнатурали усулларнинг бўлиши мумкин эмас.
17.2-листингда Demo синфига y майдонни қўши ва ундаги қийматни ўқиш усуллари киритилган.
using System;
namespace ConsoleApplication1
{
class Demo
{
public int a = 1;
public const double c = 1.66;
static string s = "Demo";
double y;
public double Gety() // y майдондаги маълумотни олиш
{
return y;
}

public void Sety( double y_ ) // y усулни қўшиш


{
y = y_;
}

public static string Gets() // s майдондаги маълумотни олиш


{
return s;
}
}
class Class1
{ static void Main()
{
Demo x = new Demo();
x.Sety(0.12); // y усулни ўрнатиш (қўшиш) усулига мурожаат
Console.WriteLine(x.Gety()); // y майдондаги маълумотни олиш усулига мурожаат
Console.WriteLine(Demo.Gets()); // s майдондаги маълумотни олиш усулига мурожаат
}
}
}
17.2-листинг. Энг содда усуллар
17.4. Усулларнинг параметрлари
Усулга мурожаат қилинганда қуйидаги харакатлар бажарилади:

  1. аргумент ўрнида турган ифоданинг қиймати ҳисобланади.

  2. усулнинг парамтерлари учун уларнинг типларига мос равишда хотирадан жой ажратилади.

  3. Ҳар бир параметр ва аргументлар ўртасида мослик ўрнатилади (аргументлар худди параметрлар устига қўйилади ва уларни алмаштиради).

  4. Усул жисми бажарилади.

  5. агар усул қиймат қайтарса, у мурожаат қилиш нуқтасига узатилади, агар усул void типида бўлса, у хола бошқарув мурожаат нуқтасидан кейинги операторга узатилади.

Бунда аргумент ва параметрларнинг типлари ўртасидаги мослик текширилади ва зарур холларда типларни алмаштириш амали бажарилади. Типлар ўртасида мосллик бўлмаганда, диагностик ахборот экранга узатилади. 17.3-листинрг шу жараённи намойиш қилади.
using System;
namespace ConsoleApplication1
{ class Class1
{
static int Max(int a, int b) // максимал қийматни танлаш усули
{
if ( a > b ) return a;
else return b;
}
static void Main()
{
int a = 2, b = 4;
int x = Max( a, b ); // Max усулга мурожаат
Console.WriteLine( x ); // натижа: 4
short t1 = 3, t2 = 4;
int y = Max( t1, t2 ); // Мах усулига мурожаат
Console.WriteLine( y ); // натижа: 4
int z = Max( a + t1, t1 / 2 * b ); // Мах усулига мурожаат
Console.WriteLine( z ); // натижа: 5
}
}
}
17.3-листинг. Парамтерларни усулга узатиш
Диққат
Параметрларни узатишдаги асосий талаб аргументлар усулга мурожаат қилишда усул саралвҳасидагои тартибига мос равишда ёзилишидан иборат. Шунингдек, ҳар бир аргументнирнг типини ошкормас кўринишда мос параметр типига алмаштиришни назара тутиш керак. Аргументлар миқдори параметрлар сонига тенг бўлиши лозим. Намуна 17.4-расмда келитирилган.

17.4-расм. Усулга мурожаат қилишда парамтерларнинг мослиги
Параметрларни узатишнинг икки хил усули мавжуд: қийматлари бўйича хамда ҳаволалар бўйича.
Қийматлар бўйича узатишда усул аргументлар қийматларининг нусхасини олади ва усул операторлари шу нусхалар учун ишлайди. Усулнинг аргументларнинг бошланғич қийматлари билан ишлашга рухсатга эга эмас ва уларни ўзгартириш имконияти хам йўқ.
Ҳаволалар (манзиллар) бўйича узатишда усул аргументлар манзилларининг нусхасини олади ва унга шу манзиллар бўйича хотира ясейкаларидаги маълумотларга рухсат берилади хамда параметрларни ўзгартириб, аргументларнинг бошланғич қийматларини ўзгартира олади.
C# дастурлаш тилида чақирувчи ва чақирилувчи қункциялар ўртасида 4 хил типдаги параметрлар назарда тутилган:

  • параметр-қийматлар;

  • параметр-ҳаволалар - ref хизматчи сўзи ёрдамида тавсифланади ;

  • чиқувчи параметрлар - out хизматчи сўзи ёрдамида тавсифланади ;

  • парамет-массивлар – params хизматчи сўзи ёрдамида тавсифланади.

Хизматчи сўз парамтер типидан олдин кўрсатилади. Агар у тушириб қолдирилган бўлса, параметр-қиймат сифатида параметр олинади. Параметр-массив фақат битта бўлади ва рўйхатнинг охирида жойлашади. Масалан:
public int Calculate( int a, ref int b, out int c, params int[] d ) …

Download 4,03 Mb.

Do'stlaringiz bilan baham:
1   ...   49   50   51   52   53   54   55   56   ...   102




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish