Microsoft Word Alqoritm ilk 5 muhazire docx



Yüklə 234,89 Kb.
Pdf görüntüsü
səhifə9/10
tarix14.10.2017
ölçüsü234,89 Kb.
#4696
növüMühazirə
1   2   3   4   5   6   7   8   9   10

2000-də Borland Linux üçün vizual mühit yaratdı. Onun əsasını Delphi və VCL-təşkil edirdi. 

Qərara gəldik ki, elə yeni bir kitabxana yaratsınlar ki, həm Windows həm də Linux-da onunla 

işləmək mümkün olsun. Bu o deməkdir ki, Widowus-da yazılan kod Linuxda asanlıqla komplyasiya 

oluna bilməlidir və  həç bir dəyişiklik edilmədən 2001-də yeni Kylix mühiti yarandı, o, Delphidə 

yazılan kodları Linuxda da komplyasiya etməyə imkan verdi. Komponent modeli olaraq CLX 

istifadə olunurdu. Bu prinsipə elə VCL-dir, sadəcə az dəyişiklik edilib. 



Varislik 

 

Sinif bir çox üstünlüklərə malikdir. Varislik onlardan biridir. Bu OYP-nın əsasıdır hətta ən 



sadə proqramda bir varislikliklə rastlaşırıq. Məsələn, siz qaraj obyekti yazmısız.  İndi ev obyekti 

yaratmalısız. Qaraj kobud desək birotaqlı evdir. Bu hər iki bina eyni xassələrə malikdir: divar, 

döşəmə, tavan və s. Buna  görə də qaraj götürüb, onu evə qədər tamamlamaq yaxşı olar. Bunun üçün 

siz yeni “ev” obyekti yaradıb onun qaraja aid olduğunu qeyd edirsiniz. Beləliklə, sizin yeni obyekt 

qarajın bütün xassələrini özünə götürəcək.  İndi ik obyektimiz var: qaraj və  ev.    Daha  bir  ev  də 

tikmək olar. Burada “valideyn” və “övlad” anlayışı yaranır. Məsələn qaraj valideyn, ev isə övladdır.  

Övlad valideynin xassələrini götürür, amma valideyn övladın digər xassələrindən xəbərsiz olur. 

Varislik prinisipi OYP-də qəbul olunmuşdur.  



Polimorfizm 

Bu nədir? Təsəvvür edin ki, qarajın qapısı yuxarı, evin qapısı isə sağa (və ya sola) açılır.  Ev 

qarajdan alındığından onun da qapısı yuxarı açılacaq. Nə etməli? Sadəcə evdə qapını açan 

prosedurda dəyişiklik etmək lazımdır. Onda ev qarajın bütün xassələrini alır, lakin qapını açan 

zaman öz prosedurunu icra edir.  Polimorfizm də belədir. Başqa sözlə üxtəlif ierarxiyanın obyektləri 

eyni bir hadisəyə müxtəlif cür reaksiya verir. Qapını açmağa cavab verən proseduru dəyişmək üçün 

qarajda o virtual elan olunmalıdır. Virtual prosedura o deməkdir ki, övlad obyektdə o dəyişdirilə 

bilər. Polimorfizmə xas olan daha bir termin də var ki, bu da dinamiklikdir. Prinsip etibarı ilə nəticə 

ayni olacaq, lakin virtual proqramın sürətinin artması üçün optimallaşdırılır, dinamik isə yavaş 

işləyir, ancaq az kod tələb edir. Borland virtual istifadə etməyi məsləhət görür.  

Bu hələ hamısı deyil. Tutaq ki, məsələn qarajda divarlar boşdur, evdə isə onlara şəkil asmaq tələb 

olunur. Bunu realizasiya etmək üçün OYP-də valideyni çağırmaq kmi rahat bir imkan var. Misala 

baxaq.  

Qarajda divar yaradan prosedur.  

Başla 

Divar yarat 



Son 

Evdə divar yaradan prosedur 

Başla 

Valideyn obyektini çağır 



Divara şəkil as 

Son  



Qarajda divar yaratma prosedurunda divar yaradılır. Ev üçün də belə prosedur var. Amma ev 

üçün varsa, deməli qaraj üçün olan artıqdır. Amma ev üçün yenidən divarı yaratmaqdansa, qarajın 

prosedurunu çağırmaq kifayətdir, sonra isə şəkilləri asa bilərik.  

 

İnkapsulyasiya 

İnkapsulyasiya elə bir xassədir ki, ona əsasən müəyyən bloku (kodu) istifadə edən kəsə onun 

necə realizasiya olunduğunu bilmək lazım deyil.  Bu o deməkdir ki, məsələn siz maşın sürürsünüz, 

amma onun ötürücü və  hərəkətverən bloklarının necə qurulduğunu və necə  işlədiyini bilmirsiniz. 

Eləcə  də sizin sinfi istifadə edən proqramçıya onun lazımi funksiyaları necə icra etdiyini bilməsi 

vacib deyil. Sinfi hazırlayan zaman ümumiyətlə siz onu elə layihələndirməlisiniz  ki, əsas işi görən 

bütün metod və xassələr gizli qalsınlar.  

Sinifləri hazırlayan zaman onların metod və xassələrini müxtəlf giriş hüquqları ilə elan 

etməlisiniz.  Əvvəlcədən  qeyd edək ki, onlar azdır  və bunlardır: publlic, private, protected və 

published. Giriş deyəndə nə nəzərdə tutulur. Açıq sinif və xassələri digər siniflər görür.  

Əgər siz proqram yazıb ona şifrləmə imkanı  əlavə etmək istəyirsinizsə, onda şifrələmə 

sinfinin bir nümunəsini yaradıb, onun ancaq açıq xassə  və metodlarına giriş ala bilərsiniz. Sinfin 

necə şifrələnməsi, hansı alqoritmin istifadəsini bilmək lazım deyil. Vacib olan odur ki, şifrələnmə 

keyfiyyətli və etibarlı həyata keçirilsin. Açar və mətn göstərmək imkanı olsun ki, onların köməyilə 

şifrələmə aparılsın və nəticə almaq imkanı olsun. Məhz bu 3 imkan mütləq açıq olmalıdır, qalanları 

isə gizli qalmalıdır ki, sinif zədələnməsin. Sinfin dəyişənlərini heç vaxt açıq etməyin. Onlar gizli 

qalmalıdır, əgər onlara təsir imkanı lazımdırsa, onda bunun üçün yaxşı olar ki, metod və ya xassələri 

istifadə edəsiniz. Yəni dəyişəni oxumaq və  dəyişmək üçün birbaşa təsir olmadan ancaq metodlar 

istifadə olunmalıdır.  



Mühazirə 4.  

Deplhi proqramlaşdırma dilinin əsasları 

Proqramlaşdırmaya aid əksər kitablarda təsvirə “Hello world” proqramı ilə başlayırlar. Bu ən 

sadə misaldır, lakin onun üzərində Delphidə proqramlaşdıra prinsipini və layihənin strukturunu izah 

etmək daha rahatdır. Beləliklə, bu proqramı yazaq və görək Delphi nə edir.  

Yeni layihə yaradırıq: File => New=> VCL Forms Application. İndi isə layihə menecerinə 

(Project Manager) baxaq. Şəkil 5.1.-də ağacın bütün budaqları görünür. 




 

Şəkil 1. Yaradılmış proqramın Proyekt Meneceri 

 Bütün budaqları görmək üçün I elementi seçmək və <+> klavişini sıxmaq lazımdır. Bu ağacın 

hər bölməsinə ətraflı nəzər salaq.  

o

 

Project Group  (ağacın başlığı) – layihələr qrupunun adı. Bir layihələr qrupunda bir neçə proqram 



ola bilər.  Əgər siz layihələr meneceri pəncərəsində Yeni  (New) düyməsini sıxsaz və yeni bir 

proqram yaratsaz, o mövcud layihələr qrupuna əlavə olunacaq.  

o

 

Project1.exe – proqramın (layihənin) adı. Yeni proqramı yaradanda Delphi ona Project adı verir və 



sıra nömrəsi əlavə edir.  

o

 



Unit1.pas – modul. Poyekt modullardan ibarətdir. Proqramın hər bir pəncərəsi ayrıca modulda 

yerləşir. biz isə ekranda görürük ki, bizim proqramın pənsərəsi var və o proqramın daxilindədir. .pas 

genişlənməli fayllar modulun kodlarınnı özündə saxlayır. Faylın adı da modulun adı ilə eynidir.  

o

 



Unit1.dfm – bu vizual formadır. O faylda eyni adla saxlanır, modul kimi lakin .dfm genişlənməsi ilə. 

əvvəllər kodla vizual forma eyni səviiyədə saxlanırdı, lakn indi vizual hissəni aşağı  səviyyəyə 

keçiriblər.  

Layihədə bir neçə proqram olarsa, onlardan ancaq biri aktiv olur və məhz onu Delphi mühitində 

icra etmək olar. Aktiv layihə qalın qara hərflə olur. Aktivləşdirmək istədiyiniz üzərində sağ düyməni 

sızıb Activate etmək lazımdır.  

İndi biz ancaq bir proqramla işləyəcəyik. Buna görə də ancaq bir layihəni saxlayıb qalanlarını 

silmək lazımdır. Onları siləndə onlar diskdə qalır, sadəcə layihədən silinir. Tam silmək istəyirsinizsə 

oradan da silmək lazımdır.  

İndi isə proqramı yadda saxlayaq. Bunun üçün əsas menyudan File => Save as seçirik. əvvəlcə 

Delphi sizdən modulun adını soruşur. Susmaya görə bu Unit1.pas-dır. Onu MainModule ilə  əvəz 

edək. Save düyməsini sıxaq. Adda probel və ya Azərbaycan, Rus şrifti istiadə etmək olmaz (Delphi 

9, 10- da olar). Yaxşı olar ki, bir proyektin bütün faylları eyni bir qovluqda saxlansın.  İndi isə 

proyektin adını verək: Helloworld yazaq və Save edək. Proyekt  Hello world.dpr faylında saxlanır. 

Misalı yenidən açmaq istəsəz məh bu faylı açmalısınız. .pas genişlənməli faylları açmaq lazım deyil. 

Adları elə seçmək lazımdır ki, modulun məzmununu tam əks etdirsin. Proyektin adı proyektin icra 

olunacaq faylının adı olacaq. Əgər Project1 adını saxlasaz, icra olunan fayl da Project1.exe olacaq.  



Yüklə 234,89 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8   9   10




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

    Ana səhifə