Alqoritm, xassələri və təsvir üsulları


Yenidən tank döyüşü proqramma qayıdaq. Bu proqramda tank bütün



Yüklə 2,19 Mb.
səhifə50/125
tarix07.01.2024
ölçüsü2,19 Mb.
#205155
növüYazı
1   ...   46   47   48   49   50   51   52   53   ...   125
aminlazım

Yenidən tank döyüşü proqramma qayıdaq. Bu proqramda tank bütün
əməliyyatları "düşünmədən" icra edir. Tank bilmir ki, onun qarşısında müqavimət var, mina var - o, tamamilə kor və kardır. Lakin, bütün bunlan onun əvəzinə proqramçı bilir və o, izləyir ki, tank mina üzərinə çıxmasın, düşmən gülləsinə tuş gəlməsin. Bəs necə etmək olar ki, bütün bunlan tank özü etsin, daha "ağıllı" olsun? Təəssüf ki, baxılan hal üçün bu mümkün deyildir. Çünki, burada tankm xassələrini sazlamaq üçün heç nə yoxdur. Bir halda ki, xassə yoxdur, demək hadisə də yoxdur, çünki, hər bir obyekt üçün mümkün hadisə elə xassələrin müxtəlifliyidir. Hadisə yoxdursa, demək ona reaksiya da yoxdur.
Müasir proqramlar isə belə işləmir. Məsələn, Windows əməliyyat sistemini götürək - axı bu da proqramdır. O, kompüter qoşulan kimi işə düşür və kompüter söndürülənədək öz işini görür. Haradasa, Windows sisteminin dərinliklərində, ekran obyektlərində və idarəetmə elementlərində baş verən bütün dəyişiklikləri izləyən bir proses daim işləyir. Nəticədə, sistem mausun hərəkətinə, onun və ya klaviaturanin klavişlərinin basılmasına reaksiya verməyə həmişə tam hazır olur.

Sinif və obyekt


Yuxarıda qeyd etdik ki, obyektyönlü proqramlaşdırmada proqramçı çoxlu siniflər üzərində əməliyyat aparır. Sinif - xassə, metod və hadisələr yığımıdır, başqa sözlə, sinif - metod, xassə və hadisələrdən ibarətdir və bunlar onun mükəmməl işləməsini təmin edir. Yəqin ki, sizlərdən hər biriniz Windows sistemində heç olmazsa, bir dəfə hər hansı düyməni basmışsınız. Həmin düymə məhz

  • xassəyə (rəngi, ölçüsü, üzərində yazı, yazının şrifti və s.),

  • hadisəyə (düymənin basılması),

  • metodlara (mətnin ekrana çıxarılması, pəncərənin bağlanması və s.) malikdir.

Xassə, metod və hadisələrin işini tam bir vahid kimi araşdıraq. Yenə də düymə sinfinə baxaq. Bu sinif aşağıdakı minimal yığıma malik olmalıdır:

  • xassələr.

    • düymənin sol mövqeyi (X);

    • düymənin yuxarı mövqeyi (Y);

    • düymənin eni;

    • düymənin hündürlüyü;

    • düymənin sərlövhəsi; - metodlar:

    • düyməni yaratmaq;

    • düyməni məhv etmək;

    • düyməni çəkmək;

  • hadisələr:

    • düymə;

    • düymənin sərlövhəsi dəyişmişdir.

Bu obyekt tam bir vahid kimi işləyir. Məsələn, siz, düymənin sərlövhəsini dəyişdirdiniz. Obyekt dərhal “düymənin sərlövhəsi dəyişdi” hadisəsini yaradır. Bu hadisəyə uyğun olaraq “düyməni cəkmək” metodu çağrılır. Bu metod düyməni obyektin xassələrində göstərilmiş mövqedə yerləşdirir və onun üzərində “düymənin sərlövhəsi” xassəsində göstərilmiş yazını təsvir etdirir.
Hər bir sinfin iki metodu vardır: “obyekti yaratmaq” və “obyekti məhv etmək”. Obyekt yaradıldıqda onun xassələrini yadda saxlamaq üçün yaddaşda yer ayrılır və avtomatik olaraq qiymətlərlə doldurulur. Obyekti məhv etdikdə isə həmin yaddaş boşalır. Obyekti yaradan metod konstruktor (constructor), obyekti məhv edən metod isə destruktor (destructor) adlanır. Obyektin özünün yaradılması prosesi isə inisializasiya adlanır.
Object Pascal dilində obyekt mürəkkəb tipdir. Bu o deməkdir ki, hər hansı dəyişəni "obyekt" tipli elan etmək olar (necə ki, hər hansı dəyişən "ədəd" və ya "sətir" tipli elan edilirdi). İndi obyekt və sinif haqqında bildiklərimizi birləşdirək. Sinif tipini elan edək. Qəbul edək ki, Obyekt 1 - Düymə tiplidir. Obyektin yaradılması haqqında "proqramı" öz sözlərimizlə yazaq:
Proqramın başlanğıcı;
Dəyişənlər
Obyektl : Düymə;
Kodun başlanğıcı
Obyektl: = Düymə. Obyekti_ yaratmaq;
Obyektl. Sərlövhə: ='Delphi' ;
Obyektl. Obyekti_məhv_etmək; Kodun sonu.

Yüklə 2,19 Mb.

Dostları ilə paylaş:
1   ...   46   47   48   49   50   51   52   53   ...   125




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

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin