Proqramlaşdırma


Qiymət qaytarmayan metodlar



Yüklə 1,02 Mb.
səhifə31/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

Qiymət qaytarmayan metodlar
Bu başlıq altında ən sadə prototipə malik metodlarə öyrənəcəyik – heç bir qiymət qaytarmayan və parametrsiz metodları. Bu cür metodların sintaksisi aşağıdakı kimidir:
void ()
{

kodlar…
}


Burada void metodun geriyə heç bir qiymət qaytarmadığı anlamına gəlir. Aşağıdakı proqramda Ucbucaq sinfi və bu sinif içərisində ixtiyari üçbucağın sahəsini Heron düsturu ilə hesablayan bir proqram təsvir olunub:


using System; class Ucbucaq


{
public int teref1; public int teref2; public int teref3; public void Sahe()
{
int p = (teref1 + teref2 + teref3) / 2;
double sahe = Math.Sqrt(p * (p - teref1) * (p - teref2) * (p - teref3)); Console.WriteLine("Terefleri {0}, {1} ve {2} olan ucbucagin sahesi: {3: ##.#}",
teref1, teref2, teref3, sahe);
}
}
class Program
{
public static void Main()
{
Ucbucaq ob = new Ucbucaq();
ob.teref1 = 5;
ob.teref2 = 7;
ob.teref3 = 8;
ob.Sahe(); //(1) Metodu cagir Console.ReadKey();
}
}

Bu proqramda iki ədəd sinif var: Ucbucaq və Program. Ucbucaq sinfi içərisində üç ədəd tam tipdə dəyişən təyin etdik və bir ədəd Sahe() adlı metod təyin etdik. Bu metod tərəflərə görə sahəni hesablayacaq. Program sinfinin Main() metodu içərisində bu sinfə aid bir obyekt yaratdıq və bu obyekt üçün teref1, teref2, teref3 dəyişənlərinə uyğun olaraq 5, 7, 8 qiymətlərini verdik. Sonra bu obyekt ilə - (1) sətrinə fikir verin - Sahe() metodunu çağırdıq. Çağırma, obyektin adından sonra nöqtə (.) operatorunun qoyulması ilə həyata keçdi. Metodların təyinində və çağrılma sətirlərində mötərizələrin olmasına diqqət edin. Sahe() metodu isə özünü çağıran obyekt (yaddaş) içərisindəki qiymətlərə əsasən sahəni hesabladı. Deməli, proqram Main() metodunun ilk fiqurlu mötərizəsindən başlayaraq icra olunmağa başladı və (1) sətrində proqramın axış istiqaməti Ucbucaq sinfi içərisindəki Sahe() metoduna yönləndi. Sahe() metodu icra olunduqdan sonra (axış, bu metodun qapanış fiqurlu mötərizəsinə çatdıqda) proqram icrasını (1) sətrindən aşağı doğru davam etditməyə başlayır. Beləliklə, nəticə aşağıdakı kimi olur:


Başa düşmək lazımdır ki, hər metod müəyyən əməliyyatı yerinə yetirərkən, özünü çağıran obyektə (yaddaşa) aid məlumatlardan istifadə edir. Bu proqramda Sahe() metodunu ob obyekti çağırdığı üçün, Sahe() metodu öz gövdəsində teref1, teref2, teref3 dəyişənləri üçün uyğun olaraq 5, 7, 8 qiymətlərindən istifadə etdi. Başqa bir obyektlə bu metodu çağırsaydıq, o zaman bu dəyişənlər üçün istifadə olunan qiymətlər də həmin obyekt üçün teref1, teref2, teref3 dəyişənlərinin qiymətləri olacaqdır. Obyektlərin işləmə prinsipi başlığı atında qeyd etmişdim ki, hər obyekt aid olduğu sinfin üzvlərinin bir kopyasını özündə saxlayır. Nəticə etibarı ilə, obyektlər eyniylə aid olduğu


sinfə aid metodların da bir kopyasını özündə saxlayır. Aşağıdakı proqramda nə demək istədiyim, tam olaraq əks olunub:

using System; class Ucbucaq


{
public int teref1; public int teref2; public int teref3; public void Sahe()
{
int p = (teref1 + teref2 + teref3) / 2;
double sahe = Math.Sqrt(p * (p - teref1) * (p - teref2) * (p - teref3)); Console.WriteLine("Terefleri {0}, {1} ve {2} olan ucbucagin sahesi: {3: ##.#}",
teref1, teref2, teref3, sahe);
}
}
class Program
{
public static void Main()
{
Ucbucaq ucbucaq1 = new Ucbucaq(); ucbucaq1.teref1 = 5;
ucbucaq1.teref2 = 7;
ucbucaq1.teref3 = 8;

Ucbucaq ucbucaq2 = new Ucbucaq(); ucbucaq2.teref1 = 3;


ucbucaq2.teref2 = 5;
ucbucaq2.teref3 = 4;

ucbucaq1.Sahe(); ucbucaq2.Sahe(); Console.ReadKey();


}
}

Bu proqramın nəticəsi aşağıdakı kimi olur:



Yeri gəlmişkən, Ucbucaq sinfi içərisindəki üzvlərin public hüquq təyinedicilərinə malik olduğuna da fikir verin. Yoxsa onlara, Program sinfi içərisindən müraciət edə bilməzdik. Çox yoruldum, sabah davam edərəm...



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