Proqramlaşdırma


Referans dəyişənləri üzərində mənimsətmə



Yüklə 1,02 Mb.
səhifə30/34
tarix11.06.2022
ölçüsü1,02 Mb.
#61216
1   ...   26   27   28   29   30   31   32   33   34
c-sharp proqramlasdirma diline girish aze

Referans dəyişənləri üzərində mənimsətmə
Referans tiplərinə aid dəyişənlərlə dəyər tiplərinə aid dəyişənlər üzərində mənimsətmə əməliyyatı ciddi fərqlilik göstərir. C# nöqteyi nəzərdən bunu başa düşmək vacibdir. Bir dəyər tipindəki dəyişən, ona məsimsədilən qiyməti özü bilə birlikdə daşıyır. Amma referans dəişənlər üçün bu belə deyil. Referans dəyişənlər, məlumatları birbaşa özlərində daşımır, bunun əvəzinə məlumatların saxlanıldığı yaddaşın ünvanını özlərində saxlayır. Buna görə də, məsələn iki referans dəyişən eyni bir yaddaş sahəsinə referans edirsə (istinad edirsə) onda bu referans dəyişənlərinin biri vasitəsi ilə yaddaşda edilən dəyişiklik, digəri üçün da keçərli olacaqdır. Aşağıdakı proqram bu faktı çox gözəl əks etdirir:
using System; class TicaretM
{
private string mudir; public string satici;
}
class Program
{
public static void Main()
{
TicaretM ob1 = new TicaretM(); //(1) TicaretM ob2 = ob1; //(2) ob1.satici = "Sadiq Memmedov"; ob2.satici = "Kamil Hamidov";
Console.WriteLine("ob1 obyekti ucun satici: " + ob1.satici); Console.WriteLine("ob2 obyekti ucun satici: " + ob2.satici); Console.ReadKey();
}
}

(1) sətrində ob1 adlı referans dəyişənini müəyyən bir yaddaş sahəsinə bağladıq. (2) sətrində isə ob2 adlı yeni referans dəyişənə ob1 dəyişənini mənimsətdik. Beləliklə, ob2 dəyişəni ob1 ilə eyni adresə istinad edəcəkdir. Aşağıdakı qrafik bunu gözəl təsvir edir:



Beləliklə, proqramın nəticəsi aşağıdakı kimi olur:




BÖLMƏ 6. METODLAR
Metod anlayışı
Metodlar bir sinfin əsas üzvlərindən biridir və C#- ın ən vacib, o cümlədən, fundamental anlayışları sırasındadır. Ümumiyyətlə metod, xaricdən bir qiymət alan (ya da almayan), müəyyə əməliyyatları yerinə yetirən və geriyə bir nəticə qaytaran (ya da qaytarmayan) kod bloklarıdır. Metodlar, birmənalı olaraq proqram kodlarının gərəksiz yerə təkrarlanmasının qarşısı alınır. Ticarət mərkəzi məsələsinə qayıtsaq, müştəri müxtəlif bölmələrdən alış-veriş edir. Hər bölmədən alver edib hər bölməyə də lazımi qədər pul ödmək əslində o qədər də yaxşı deyil. Bunun yerinə, müştəri istədiklərini müxtəlif bölmələrdən alıb və çıxışda yekun məbləği bir dəfəlik kassaya ödəməsi, daha gözəl bir üsuldur. Onsuz da, pul ödəmək eyni bir əməliyyatdır, bunu hər bölmə üçün təkrarlamaq mənasızdır. Bax metodlar da eyni əməliyyatların (kodların) dəfələrlə təkrarlanmasının qarşısını almaq üçün yaradılıb. Lazımi kodları bir metod kimi təyin etmək və istədiyimiz vaxt həmin metodu çağırmaq kifayətdir. Metodlar bir sinfin üzvləridir. Qeyd olunduğu kimi, metodlar müəyyən bir əməliyyat yerinə yetirir və nəticə olaraq geriyə bir məlumat qaytara ya da qaytarmaya bilər. Əgər heç bir məlumat qaytarmasa, onda həmin metodların qaytarıma tipi void olmalıdır. Metodlar kənardan bir məlumat alaraq o məlumatlar əsasında müəyyən əməliyyatlar yerinə yetirə bilər. Belə metodlara isə parametrli petorlar deyilir. Beləliklə, metodları aşağdakı qayda ilə təyin edəcəyik:
(parametrlər)
{

kodlar…
}


Bu təriflər, sizə bir az qarışıq gələ bilər. Amma çətin bir şey yoxdur. İndi ən sadə şəkildə, adi həyat məsələləri üzərində bu deyilənləri başa salmağa çalışacam. Başlayaq, geriyə qiymət qayratmayan metodlardan. Deməli, yazdım ki, bu cür metodlar hansısa işi görür bu işin nəticəsi kimi, geriyə bir məlumat vermir. Sadəcə iş görür. Ticarət mərkəzindəki kassa motodumuz olsun hansı ki, bu metod alınan malların dəyərini toplama əməliyyatını yerinə yetirir. Əgər müştəri aldığı malların dəyərini tam dəqiq şəkildə kassaya ödəyərsə, onda kassa müştərisə heç bir pul qalığı qaytarmayacaq. Yəni, kassa metodu geriyə qiymət qatarmayan metod oldu. Əks halda kassa metodu pulu hesablayacaq və geriyə qalığı qaytaracaq. Bu isə geriyə bir qiymət qaytaran metod oldu. Müştəri kassaya pul ödəyir, yəni kassa metoduna bir məlumat göndərir (pul) və


kassa metodu da məlumatı qəbul edərək işləyir. Bu zaman kassa metodu parametrli metod olur. Pul həmin metodun parametridir. Amma dükanın sahibinin kassaya bir şey ödəməsi gərəkmir. Bu zaman kassa parametrsiz metod olur. Bundan bir az fərqli olaraq, C# - da bir metod eyni anda bu göstəricilərin hamısını özündə saxlaya bilməz. Yəni, eyni bir metod həm qiymət qaytaran həm də qaytarmayan ola bilməz. Ya qaytarır, ya da qaytarmır! Eyniylə, eyni bir metod həm parametri həm də parametrsiz ola bilməz.

Yüklə 1,02 Mb.

Dostları ilə paylaş:
1   ...   26   27   28   29   30   31   32   33   34




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin