Режа: Индексаторлар



Download 0,51 Mb.
Pdf ko'rish
bet3/5
Sana23.02.2022
Hajmi0,51 Mb.
#138797
1   2   3   4   5
Bog'liq
1-Maruza matni (1)

Диққат. Қиймат қайтармайдиган усул алоҳида оператор билан чақирилади, 
қиймат қайтарувчи усуллар эса қиймат бериш операторининг ўнг томонида 
кўрсатилади.  
Усул сарлавҳасида тавсифланадиган Хоссалар усулга узатиладиган аргументлар 
тўпламидан иборат бўлади. Аргументлар рўйхати усулаг мурожат қилинганда худди 
хоссалар рўйхати устига қўйилгандек бўлади ва шу сабабли улар жуфт-жуфти билан бир-
бирига мос бўлиши талаб қилинади. Масалан, 
Sin
усулининг сарлавҳаси қуйидагича 
бўлиши мумкин:
public static double Sin( double a ); 
Усулнинг номи унинг хоссалари, типи, спецификаторлари билан биргаликда унинг 


Dasturlash asoslari 1-ma’ruza 
O’qituvchi: Saidjalol Hasanov 
---------------------------------------------------------------- 
сигнатурасини ташкил қилади. Синф таркибида бир хил сигнатурали усулларнинг 
бўлиши мумкин эмас.
1-листингда 
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 майдондаги маълумотни олиш усулига 
мурожаат



1-листинг. Энг содда усуллар 
Усулга мурожаат қилинганда қуйидаги харакатлар бажарилади:
1. 
аргумент ўрнида турган ифоданинг қиймати ҳисобланади. 
2. 
усулнинг парамтерлари учун уларнинг типларига мос равишда хотирадан 
жой ажратилади. 
3. 
Ҳар бир хосса ва аргументлар ўртасида мослик ўрнатилади (аргументлар 
худди хоссалар устига қўйилади ва уларни алмаштиради). 
4. 
Усул жисми бажарилади. 
5. 
агар усул қиймат қайтарса, у мурожаат қилиш нуқтасига узатилади, агар 
усул 
void
типида бўлса, у хола бошқарув мурожаат нуқтасидан кейинги операторга 


Dasturlash asoslari 1-ma’ruza 
O’qituvchi: Saidjalol Hasanov 
---------------------------------------------------------------- 
узатилади. 
Бунда аргумент ва хоссаларнинг типлари ўртасидаги мослик текширилади ва зарур 
холларда типларни алмаштириш амали бажарилади. Типлар ўртасида мосллик 
бўлмаганда, диагностик ахборот экранга узатилади. 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 



2-листинг. Парамтерларни усулга узатиш 
Диққат 
Хоссаларни узатишдаги асосий талаб аргументлар усулга мурожаат қилишда 
усул саралвҳасидагои тартибига мос равишда ёзилишидан иборат. Шунингдек, ҳар бир 
аргументнирнг типини ошкормас кўринишда мос хосса типига алмаштиришни назара 
тутиш керак. Аргументлар миқдори хоссалар сонига тенг бўлиши лозим. Намуна 17.2-
расмда келитирилган. 
2-расм. Усулга мурожаат қилишда парамтерларнинг мослиги 
Хоссаларни узатишнинг икки хил усули мавжуд: қийматлари бўйича хамда 
ҳаволалар бўйича.
Қийматлар бўйича узатишда усул аргументлар қийматларининг нусхасини олади 
ва усул операторлари шу нусхалар учун ишлайди. Усулнинг аргументларнинг бошланғич 
қийматлари билан ишлашга рухсатга эга эмас ва уларни ўзгартириш имконияти хам йўқ.
Ҳаволалар (манзиллар) бўйича узатишда усул аргументлар манзилларининг 
нусхасини олади ва унга шу манзиллар бўйича хотира ясейкаларидаги маълумотларга 
рухсат берилади хамда хоссаларни ўзгартириб, аргументларнинг бошланғич 


Dasturlash asoslari 1-ma’ruza 
O’qituvchi: Saidjalol Hasanov 
---------------------------------------------------------------- 
қийматларини ўзгартира олади.
C# дастурлаш тилида чақирувчи ва чақирилувчи қункциялар ўртасида 4 хил 
типдаги хоссалар назарда тутилган: 

хосса-қийматлар; 

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

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

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

Download 0,51 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5




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