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



Yüklə 2,19 Mb.
səhifə46/125
tarix07.01.2024
ölçüsü2,19 Mb.
#205155
növüYazı
1   ...   42   43   44   45   46   47   48   49   ...   125
aminlazım

type TNotifyEvent=
procedure(Sender:Tobject) of object;
Prosedur tip verilənlər hadisə emaledicisini təyin etmək üçün istifadə olunur. Bu prosedurun TObject tipli yalnız bir Sender parametri vardır. Hadisə emaledicisini Obyektlər inspektorunun köməyi ilə də təyin etmək olar.
Misal.
Buttonl düyməsinin OnClick düyməbasma hadisəsinə emaledici kimi ButtonlClick
Object Pascal dilində hesabi ifadələr, məntiqi ifadələr və sətir ifadələr Turbo Pascal dilində olduğu kimidir. Delphi-də çoxlu standart prosedur runksiyalardan istifadə olunur ki, onlann ən əsasları kitabın sonundakı Əlavədə göstərilmişdir. Yadda saxlayıə ki, bu Əlavədə verilən bir sıra riyazi prosedur funksiyalan istifadə etdikdə, modulun Uses bölməsinə Math modulunu qoşmaq lazımdır.

Operatorlar


Turbo Pascal dilində proqrama ilkin verilənlər daxiletmə prosedurları ilə daxil, nəticələr isə xaricetmə prosedurları ilə ekranda təsvir olunur və ya ızılırdı. Delphi sistemində isə bu əməliyyatlar xüsusi vizual komponenlərlə yerinə yetirilir.
Birinci hissədə öyrəndiyimiz mənimsətmə operatoru, keçid operatoru, boş operator, strukturlaşdırılmış operatorlar, o cümlədən, tərkibli operator, şərti operator, seçim operatoru, parametrli, ilkin şərtli və son şərtli dövr operatorları, daxilolma operatoru Turbo Pascal dilində olduğu kimidir.

Mövzu 18: Obyektyönlü proqramlaşdırmanın xüsusiyyətləri


Obyektyönlü proqramlaşdırmanın xüsusiyyətlərini anlamaq üçün
proqramlaşdırmanın keçdiyi inkişaf mərhələlərinə qısaca nəzər yetirək. İlk proqramlar bütöv mətnlərdən ibarət idi. Burada proqram əmrlər ardıcıllığından ibarət idi. Bu proqramlarla çox işlər görmək mümkün deyildi. Belə proqramlara misal olaraq xətti hesablama proseslərinin proqramlarını misal göstərmək olar. Proqramda müəyyən məntiqi əməliyyatları yerinə yetirmək üçün proqramçının imkanında yalnız şərti keçid operatorları mövcud idi. Bu operatorların tətbiqi ilə əmrlərin yerinə yetirilmə ardıcıllığını dəyişdirmək mümkün idi. Bununla bərabər, proqram yenə də "müstəvi" proqram olaraq qalırdı, belə proqramlarda yalnız ilkin verilənlərin daxil edilməsi kimi dialoqlar təşkil olunurdu. Lakin, biz Ms Office proqramları ilə işlədikdə onların xətti olmasını deyə bilmərik, çünki bu proqramlarda çoxlu canlı dialoqlar təşkil olunmuşdur. Siz nə istədiyinizi deyirsiniz, proqram isə əvəzində onu icra edir. Xətti ("müstəvi") proqramlaşdırma isə belə dialoqları yaratmağa imkan vermir. Proqramlaşdırmanın növbəti mərhələsində prosedur yanaşma meydana gəldi. Prosedur və funksiyaların tətbiqi bir vaxtlar proqramlaşdırmanın səmərəliliyini artırmaq üçün çox vacib və çox böyük bir addım idi. Bu yanaşmada proqramm müəyyən hissələri ayrı bloklar şəklində tərtib olunur və əsas proqramda ona dəfələrlə müraciət olunurdu. Hər müraciət zamam isə prosedura müxtəlif qiymətlər ötürülə bilirdi. Bilirik ki, əksər hallarda prosedur və funksiyaların formal parametrləri mövcud olur ki, onlara müraciət etdikdə bu parametrlər faktik arqumentlərlə əvəz edilməlidir. Bu halda isə prosedur və funksiyaların səhv verilənlərlə çağrılması təhlükəsi əmələ gəlirdi ki, bu da proqramın icrasında imtinalara və ya onun qəza ilə yekunlaşmasına səbəb ola bilirdi. Ona görə də belə ənənəvi yanaşmanın tətbiqi ümumiləşməsi kimi verilənlərin və alt proqramların (prosedur və funksiya) birləşdirilməsi məqsədəuyğun hesab edilə bilərdi. Bu isə proqramlaşdırmanın növbəti inkişaf mərhələsi olan obyektyönlü proqramlaşdırmanın meydana gəlməsinə səbəb oldu. Burada proqramlar artıq "müstəvi" proqramlar deyildir və proqramçı yalnız prosedur və funksiyalarla kifayətlənmir, bütöv siniflərlə əməliyyat aparır.
Ənənəvi proqramlaşdırmada verilənlərin və ya onları emal edən metodların dəyişməsi proqrama ciddi dəyişikliklərin edilməsi zərurətini yaradır. Proqramçılar isə çox yaxşı bilirlər ki, proqramda dəyişiklik etmək ən xoşagəlməz işlərdən biridir, çünki, bu zaman səhvlərin yaranma ehtimalı artır ki, bu da vaxt sərfinin çoxalmasına gətirir. Obyektyönlü proqramlaşdırmada istifadə olunduqda isə bu hal aradan qaldırılır, belə ki, minimal itkilərlə proqram modifikasiya olunur, genişləndirilir və ya ona əlavələr edilir. Beləliklə obyektyönlü proqramlaşdırmanın əsas prinsipi ondan ibarətdir ki, haçansa, kim tərəfindənsə, yaradılmış proqram atılmamalı, itməməlidir və hazır blok şəklində digər proqramçıların proqramlarında istifadə edilməlidir. Windows əlavələri ilə işləyən istifadəçilər yəqin xatırlayırlar ki, Word, Excel, Access və s. kimi əlavələrdə tamamilə eyni qayda ilə icra olunan nə qədər əməliyyatlardan (eyn menyular, şriftlər, pəncərələr və s.) istifadə olunur. Bu əməliyyatlar blok kimi müxtəlif əlavələrdə istifadə edilmişdir. Yeni proqramlar işlənərkən, zərurat yarandıqda, mövcud proqramlardan hazır bloklar götürülür və onlar yeni tələbatlara uyğunlaşdırılır. Lakin, bütün bu deyilənlərdən belə nəticəyə gəlmək olmaz ki, obyektyönlü proqramlaşdırma proqramçıları bütün bəlalardan xilas edən "dərmandır", bununla bərabər qabaqcıl texnologiya kimi onun rolu şübhəsizdir. Obyektyönlü proqramlaşdırmanın ideya və metodlarını öyrənmək o qədər də asan məsələ deyildir, lakin bu texnologiyanın tətbiqi mürəkkəb proqramların işlənməsini əhəmiyyətli dərəcədə sadələşdirməyə imkan verir.

Obyektlər və onların xassələri Obyekt nədir


Hər şeydən əvvəl, obyekt hər hansı bir konkret şeydir. Biz deyə bilərik ki, o siradan başlayır və harada qurtanr. İkincisi, o hər hansı daxili quruluşa malikdir biz onu bilməyə də bilərik. Üçüncüsü, obyekt müəyyən hərəkətə malik olur biz bu hərəkəti müşahidə, bəzi hallarda isə ona təsir edə bilərik. Obyektin 'belə təsviri bizdə tam aydın təsəvvür yaratmasa da, ətrafımızda çoxlu şeylər göstərə bilərik ki, ona uyğun gəlir. Məsələn, zəngli saat bizi səhər tezdən oyadır, onun zəngini dayandırmaq üçün düyməsini basırıq və növbəti səhər yenidən oyanmaq üçün onun zəng dəstəyini fırladmaq. Deməli, "zəngli saat" obyektini qurmaq üçün onun dəstəyini fırladır, zəngini dayandırmaq üçün isə düyməsini basırıq. Biz zəngli saatdan istifadə etdikdə vacib deyil ki, onun daxilində neçə çarxm, yaym və s. olmasmı bilək. Bizə yalnız onu qurmağı, vaxtı küməyi, zəngi idarə etməyi bilmək, demək olar ki, kifayətdir. Bu yanaşma məhz obyekt yanaşmam bildirir. Ətrafımızda nə qədər obyektlər var ki, biz onlann daxili quruluşlarmı və iş prinsiplərini bilməyərək onlardan istifadə edirik (televizor, soyuducu, kondisioner, tozsoran, avtomobil və s.). Lakin bu o demək deyil ki, bu obyektlər bizi, ümumiyyətlə maraqlandmnır. Əksinə, hətta daha çox maraqlandmr. Məsələn, əgər "divar" obyektə "mismar" obyekti vurmaq lazımdırsa, biz hökmən bu obyektlərin xassələrini qiymətləndirməliyik. Əgər divar taxtadandırsa, deməli, mismar dəmirdən olmalıdır, tərsinə isə mümkün deyildir. Buradan belə nəticəyə gəlmək olar ki, bütün obyektlərin xassələri var və bu xassələr ixtiyari deyil, müxtəlifdir. Başımız üzərində uçan həşəratlarm xassələrinə varmmqsa, onda onlar obyekt deyil, sadəcə həşəratlardır. Əgər biz onları xassələrinə görə fərqləndiririksə, onda başa düşürük ki, başımız üzərində milçək, ağcaqanad, kəpənək və ya arı uçur və bundan asılı olaraq özümüzü müxtəlif cür apannq. Obyektin xassələri obyektin özü ilə sıx bağlıdır. Təbəssümsüz sima olmadığı kimi, xassəsiz obyekt də yoxdur.
Bəs bütün bunlann proqramlaşdırmaya nə aidiyyəti vardır? Məsələ ondadır ki, biz proqramlaşdmnada müxtəlif obyektlər istifadə edəcəyik. Proqram obyektləri real həyatdakı obyektlərə çox oxşardır - onlar daxili quruluşları və hərəkətləri ilə bir-birindən fərqlənir. Kompüterin ekranmda gördüyümüz hər şey obyektdir. Hər bir pəncərə, hər bir nişan, hər bir idarəetmə obyekti, hər bir menyu bir obyektdir. Proqramlaşdırmanın inkişaf tarixinə nəzər yetirsək görərik ki, 25-30 il bundan əvvəl proqramçı böyük zəhmət hesabma bu obyektləri özü yaradırdı və əksər hallarda məsələnin mürəkkəbliyindən asılı olaraq bu işi bir yox, bir neçə proqramçı kollektivi yerinə yetirirdi. Prosedurlu proqramlaşdırma dövründə proqramlar belə yaradıhrdı. Bu proqramlarm sətirləri bir neçə minlərlə kodlardan ibarət olurdu.
Obyektyönlü proqramlaşdırma texnologiyasının yaradılması proqramlaşdırmada bir çox problemləri asanlıqla həll etməyə imkan yaratdı. Əgər biz obyektiəriə işləyəcəyiksə, bu o demək deyildir ki, bütün obyektləri biz özümüz yaratmalıyıq. Cəmiyyətdə çox qədimdən əmək bölgüsü mövcuddur. Məsələn, inşaatçınm bilməsi vacib deyildir ki, onlar üçün kərpici kim və necə hazırlayır. Onlann vəzifəsi inşaat materiallarını almaq və ev tikməkdir. Başqa misal. Hamıya məlumdur ki, alma ağacı toxumdan əmələ gəlir. Lakin, kim öz bağında alma toxumu əkir? Alma ağacı yetişdirmək üçün üç illik şitil əkilir. Bağban üçün şitil obyektdir ki, bu obyektin müxtəlif xassələri vardır və bu xassə almanın növündən ibarətdir. Toxum isə onun üçün obyekt deyil, çünki bağbanm nöqteyinəzərincə, onun heç bir xassəsi yoxdur. Belə ki, toxumdan yalnız bır alma bitəcəkdir.
Yaxşı növ alma almaq üçün onu calaq etmək lazımdır.
Kərpiclər hamısı eynidir, lakin onlardan müxtəlif tikili qurmaq olar. Hazır mənzil plitələrindən (paneldən) isə teatr, stadion yox, yalnız yaşayış mənzili inşa etmək olar. Ona görə də proqramlaşdırmada da biz proqramlann qurulmasını elə obyektlərdən başlamalıyıq ki, onlar bizim imkanlarımızı məhdudlaşdırmasın və hər dəfə bizi hər şeyi yenidən başlamağa məcbur etməsin. Delphi-də gələcək obyektləri yaratmaq üçün çoxlu tədarük görülmüşdür ki, onlara komponentlər deyilir. Müəyyən bir işi yerinə yetirmək üçün biz bu uyğun komponentlərdən hər hansı birini seçəcəyik. Yuxanda qeyd etdiyimiz kimi, Windows əlavələrinin bir çoxu təyinatmdan asılı olmayaraq tamamilə eyni formaya malik olur, çünki onlar eyni komponentlərdən yaradılmışdır. Lakin, bunu kompüter oyun proqramları haqqında demək mümkün deyildir. Onlar bir-birindən həm forma, həm də idarəetmə üsullarına görə kəskin fərqlənir. Demək olar ki, kompüter oyunları "toxumdan yetişdirilmişdir".

Yüklə 2,19 Mb.

Dostları ilə paylaş:
1   ...   42   43   44   45   46   47   48   49   ...   125




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