Razumevanje metod razreda Delphi

V Delphi, metoda je postopek ali funkcija, ki izvede operacijo na predmetu. Metoda razreda je metoda, ki deluje na referenco razreda namesto na referenco predmeta.

Če berete med vrsticami, boste ugotovili, da so metode razreda dostopne, tudi če niste ustvarili primerka razreda (objekta).

Metode razreda vs. Predmetne metode

Vsakič, ko ustvarite Delphi komponenta dinamično, uporabljate metodo razreda: Konstruktor.

Konstruktor Ustvari je metoda razreda, v nasprotju s skoraj vsemi drugimi metodami, ki jih boste srečali pri programiranju Delphija, ki so objektne metode. Metoda razreda je metoda razreda in ustrezno primerna metoda je metoda, ki jo lahko pokliče primerek razreda. To najbolje ilustrira primer z razredi in predmeti, ki so za jasnost označeni z rdečo barvo:

myCheckbox: = TCheckbox. Ustvari (nič);

Tu je pred klicem Ustvari ime razreda in obdobje ("TCheckbox."). To je metoda razreda, splošno znana kot konstruktor. To je mehanizem, s katerim so ustvarjeni primerki razreda. Rezultat je primerek razreda TCheckbox. Ti primeri se imenujejo predmeti. Primerjajte prejšnjo vrstico kode z naslednjim:

instagram viewer

myCheckbox. Ponovno barvanje;

Tukaj se imenuje metoda Repaint objekta TCheckbox (podedovana od TWinControl). Pred klicem na Repaint je objektna spremenljivka in obdobje ("myCheckbox.").

Metode razreda lahko pokličete brez primerka razreda (npr. "TCheckbox. Ustvari "). Metode razreda lahko pokličete tudi neposredno iz predmeta (npr. "MyCheckbox. ClassName "). Objektne metode pa lahko pokliče le primerek razreda (npr. "MyCheckbox. Ponovno barvanje ").

Zakulisno stoji konstruktor Ustvari dodeljevanje spomina za objekt (in izvajanje kakršne koli dodatne inicializacije, kot jo določi TCheckbox ali njegovi predniki).

Eksperimentiranje z lastnimi metodami razreda

Pomislite na AboutBox (prilagojeni obrazec "O tej aplikaciji"). Naslednja koda uporablja nekaj takega:

postopek TfrMain.mnuInfoClick (Pošiljatelj: TObject);
začeti
AboutBox: = T AboutBox. Ustvari (nič);
poskusi
AboutBox. ShowModal;
končno
AboutBox. Sprostitev;
konec;
konec;
Seveda je to zelo prijeten način za opravljanje dela, toda samo za lažje branje (in upravljanje) kode bi bilo veliko bolj učinkovito, da jo spremenite v:
postopek TfrMain.mnuInfoClick (Pošiljatelj: TObject);
začeti
T AboutBox. Pokaži sebe;
konec;
Zgornja vrstica imenuje metodo razreda "ShowYourself" razreda TAboutBox. "ShowYourself" mora biti označen s ključno besedo "razred":
razredni postopek TAboutBox. Pokaži sebe;
začeti
AboutBox: = T AboutBox. Ustvari (nič);
poskusi
AboutBox. ShowModal;
končno
AboutBox. Sprostitev;
konec;
konec;

Stvari, ki jih je treba imeti v mislih

  • Opredelitev metode razreda mora vključevati rezerviran razred besed pred postopkom ali funkcijsko ključno besedo, ki začne definicijo.
  • Obrazec AboutBox ni samodejno ustvarjen (Project-Options).
  • Postavite enoto AboutBox v klavzulo uporabe glavnega obrazca.
  • Ne pozabite razglasiti postopka v vmesniku (javnem) delu enote AboutBox.
instagram story viewer