A Delphi osztály módszereinek megértése

Ban ben Delphi, egy módszer olyan eljárás vagy függvény, amely egy objektumon műveletet hajt végre. Osztály módszer olyan módszer, amely egy osztály referencián működik, nem egy objektum referencián.

Ha a sorok között olvas, akkor azt találja, hogy az osztály módszerei akkor is elérhetők, ha még nem hozta létre az osztály példányát (az objektumot).

Osztálymódszerek vs. Objektum módszerek

Minden alkalommal, amikor létrehoz egy Delphi komponens dinamikusan, osztályos módszert használ: a kivitelező.

A konstruktor létrehozása osztály módszer, ellentétben szinte minden más módszerrel, amellyel a Delphi programozás során szembesül, amelyek objektum módszerek. Az osztály módszer az osztály módszere, és megfelelő módon az objektum módszer egy olyan módszer, amelyet az osztály egy példánya meghívhat. Ezt legjobban egy példa szemlélteti, ahol az osztályok és tárgyak az érthetőség kedvéért piros színűek:

myCheckbox: = TCheckbox. Létrehozás (nulla);

Itt a létrehozás iránti felhívást az osztály neve és egy időszak előzi meg ("TCheckbox."). Ez egy osztály módszer, amelyet általában kivitelezőként ismertek. Ez a mechanizmus hozza létre az osztály példányait. Az eredmény a TCheckbox osztály példánya. Ezeket az példányokat objektumoknak nevezzük. Ellentétes az előző kódsorral a következővel:

instagram viewer

myCheckbox. Átfest;

Itt hívják a TCheckbox objektum (a TWinControltól örökölt) Repaint módszerét. Az Újrafestés hívást az objektumváltozó és az időszak előzi meg ("myCheckbox").

Osztály metódusok meghívhatók az osztály példánya nélkül (például: "TCheckbox. Létrehozása "). Az osztály módszereket közvetlenül is meg lehet hívni egy objektumból (például "myCheckbox. Osztály név"). Az objektummódszereket azonban csak egy osztály egy példánya hívhatja meg (például: "myCheckbox. Átfest").

A színfalak mögött van a konstruktor létrehozása memória allokálása az objektumra (és bármilyen kiegészítő inicializálásra a TCheckbox vagy ősei által meghatározottak szerint).

Kísérletezzen a saját osztály módszereivel

Gondoljon az AboutBox-ra (egy egyéni „About This Application” képernyő). A következő kód valami hasonlót használ:

eljárás TfrMain.mnuInfoClick (Feladó: TObject);
kezdődik
AboutBox: = TAboutBox. Létrehozás (nulla);
próbáld ki
AboutBox. ShowModal;
végül
AboutBox. Kiadás;
végén;
végén;
Ez természetesen nagyon szép módja a munka elvégzésének, de csak azért, hogy a kód könnyebben olvasható legyen (és kezelhető legyen), sokkal hatékonyabb lenne azt a következőre változtatni:
eljárás TfrMain.mnuInfoClick (Feladó: TObject);
kezdődik
TAboutBox. Mutasd magad;
végén;
A fenti sor a TAboutBox osztály "ShowYourself" osztály módszerét hívja. A "ShowYourself" feliratot a "osztály":
osztály eljárás TAboutBox. Mutasd magad;
kezdődik
AboutBox: = TAboutBox. Létrehozás (nulla);
próbáld ki
AboutBox. ShowModal;
végül
AboutBox. Kiadás;
végén;
végén;

A szem előtt tartandó dolgok

  • Az osztály metódusának meghatározása magában foglalja a fenntartott szó osztályt a meghatározást indító eljárás vagy függvény kulcsszó előtt.
  • A AboutBox űrlapot nem hozzák létre automatikusan (Projekt-Opciók).
  • Helyezze az AboutBox egységet a fő űrlap használati kikötésére.
  • Ne felejtsd el bejelenteni az eljárást az AboutBox egység felületének (nyilvános) részében.