Məsləhətlər

Delphi sinif metodlarını başa düşmək

Delphi sinif metodlarını başa düşmək

Delphi-də bir metod bir obyekt üzərində əməliyyat aparan prosedur və ya funksiyadır. Sinif metodu bir obyekt istinadının əvəzinə sinif istinadında işləyən bir üsuldur.

Sətirlər arasında oxusanız, sinif (obyekt) nümunəsini yaratmadığınız zaman sinif metodlarına əlçatan olduğunu görəcəksiniz.

Sinif metodları və obyekt metodları

Hər dəfə bir Delphi komponentini dinamik olaraq yaratdıqda bir sinif metodundan istifadə edirsiniz: Konstruktor.

Create konstruktor, obyekt metodları olan Delphi proqramlaşdırmasında qarşılaşacağınız demək olar ki, bütün digər metodlardan fərqli olaraq sinif metodudur. Sinif metodu sinifin metodudur və buna müvafiq olaraq obyekt metodu, sinif nümunəsi ilə çağırıla bilən bir üsuldur. Ən yaxşısı bir nümunə ilə izah olunur, aydınlıq üçün qırmızı rənglə vurğulanan siniflər və obyektlər:

myCheckbox: = TCheckbox.Create (nil);

Burada Yaratma çağırışına əvvəl sinif adı və bir dövr ("TCheckbox.") Gəlir. Ümumiyyətlə bir konstruktor olaraq bilinən bir sinif metodudur. Bu bir sinif nümunələrinin yaratdığı mexanizmdir. Nəticə TCheckbox sinifinin bir nümunəsidir. Bu hallara obyekt deyilir. Əvvəlki kod xəttini aşağıdakılarla müqayisə edin:

myCheckbox.Təsdiq;

Burada TCheckbox obyektinin (TWinControl-dan miras alınmış) Repaint metodu adlanır. Repaint-ə çağırış əvvəl obyekt dəyişənindən və bir dövrdən ibarətdir ("myCheckbox.").

Sinif metodlarını sinif nümunəsi olmadan çağırmaq olar (məsələn, "TCheckbox.Create"). Sinif metodları birbaşa bir obyektdən də çağırıla bilər (məsələn, "myCheckbox.ClassName"). Lakin obyekt metodları yalnız bir sinif nümunəsi ilə çağırıla bilər (məsələn, "myCheckbox.Repaint").

Pərdə arxasında, Yaradıcı konstruktoru obyekt üçün yaddaş ayırır (və TCheckbox və ya onun əcdadları tərəfindən təyin edilmiş hər hansı bir əlavə başlatma həyata keçirir).

Öz Sinif metodlarınızla Təcrübə

AboutBox (xüsusi bir "Bu Tətbiq haqqında" forma) düşünün. Aşağıdakı kod kimi bir şey istifadə edir:

prosedur TfrMain.mnuInfoClick (Göndərən: TObject);
başlamaq
AboutBox: = TAboutBox.Create (nil);
cəhd edin
HaqqındaBox.ShowModal;
nəhayət
HaqqındaBox.Release;
son;
son;Bu, əlbəttə ki, işi görmək üçün çox gözəl bir yoldur, ancaq kodu oxumağı asanlaşdırmaq (və idarə etmək) üçün onu dəyişdirmək daha səmərəli olardı:

prosedur TfrMain.mnuInfoClick (Göndərən: TObject);
başlamaq
TAboutBox.Show Özünüz;
son;Yuxarıdakı sətir TAboutBox sinifinin "ShowYourself" sinif metodu adlanır. "ShowYourself" sözlə qeyd olunmalıdır "sinif":

sinif proseduru TAboutBox.ShowYourself;
başlamaq
AboutBox: = TAboutBox.Create (nil);
cəhd edin
HaqqındaBox.ShowModal;
nəhayət
HaqqındaBox.Release;
son;
son;

Unutmamalı şeylər

  • Sinif metodunun tərifi tərifi başlayan prosedurdan və ya funksiya açar sözündən əvvəl qorunan söz sinifini daxil etməlidir.
  • AboutBox forması avtomatik yaradılmır (Layihə Seçimləri).
  • AboutBox bölməsini əsas formanın istifadə bəndinə qoyun.
  • Proseduru AboutBox bölməsinin interfeys (ictimai) hissəsində elan etməyi unutmayın.