v Delphi, metóda je postup alebo funkcia, ktorá vykonáva operáciu s objektom. Metóda triedy je metóda, ktorá pracuje s odkazom na triedu namiesto odkazu na objekt.
Ak čítate medzi riadkami, zistíte, že metódy triedy sú prístupné, aj keď ste nevytvorili inštanciu triedy (objekt).
Metódy triedy vs Metódy objektov
Zakaždým, keď vytvoríte Komponent Delphi dynamicky, použijete metódu triedy: Konštruktor.
Konštruktor Create je metóda triedy, na rozdiel od prakticky všetkých ostatných metód, s ktorými sa stretnete pri programovaní Delphi, čo sú objektové metódy. Metóda triedy je metóda triedy a objektovou metódou je metóda, ktorú možno vyvolať inštanciou triedy. Najlepšie to ilustruje príklad, keď sú triedy a objekty z dôvodu prehľadnosti zvýraznené červenou farbou:
myCheckbox: = TCheckbox. Vytvoriť (nula);
V tomto prípade je pred volaním Create vytvorený názov triedy a bodka („TCheckbox“). Je to metóda triedy, bežne známa ako konštruktér. Toto je mechanizmus, ktorým sa vytvárajú inštancie triedy. Výsledkom je inštancia triedy TCheckbox. Tieto prípady sa nazývajú objekty. Porovnajte predchádzajúci riadok kódu s nasledujúcim:
myCheckbox. prekresliť;
Tu sa nazýva metóda opätovného prebudovania objektu TCheckbox (zdedená po TWinControl). Volanie na opätovné prekreslenie predchádza premenná objektu a bodka („myCheckbox“).
Metódy triedy je možné volať bez inštancie triedy (napr. „TCheckbox“). Vytvoriť "). Metódy triedy je možné vyvolať aj priamo z objektu (napr. „MyCheckbox“). ClassName "). Objektové metódy však môžu vyvolať iba inštancie triedy (napr. „MyCheckbox“). Prekreslenie ").
Za scénami je konštruktor Create pridelenie pamäte pre objekt (a vykonanie akejkoľvek ďalšej inicializácie, ako je určené v TCheckbox alebo jeho predkoch).
Experimentovanie s metódami vašej vlastnej triedy
Pomyslite na AboutBox (vlastný formulár „O tejto aplikácii“). Nasledujúci kód používa niečo ako:
postup TfrMain.mnuInfoClick (odosielateľ: TObject);Toto je, samozrejme, veľmi pekný spôsob, ako robiť svoju prácu, ale aby sa kód ľahšie čítal (a spravoval), bolo by oveľa efektívnejšie zmeniť ho na:
začať
AboutBoxu: = TAboutBox. Vytvoriť (nula);
vyskúšať
AboutBoxu. ShowModal;
konečne
AboutBoxu. uvoľniť;
koniec;
koniec;
postup TfrMain.mnuInfoClick (odosielateľ: TObject);Vyššie uvedený riadok volá metódu triedy „ShowYourself“ triedy TAboutBox. „ShowYourself“ musí byť označené kľúčovým slovom „trieda":
začať
TAboutBox. Ukáž sa;
koniec;
triedny postup TAboutBox. Ukáž sa;
začať
AboutBox: = TAboutBox. Vytvoriť (nula);
vyskúšať
AboutBoxu. ShowModal;
konečne
AboutBoxu. uvoľniť;
koniec;
koniec;
Čo by ste mali mať na pamäti
- Definícia metódy triedy musí obsahovať vyhradenú triedu slov pred kľúčovým slovom procedúry alebo funkcie, ktoré začína definíciu.
- Formulár AboutBox nie je vytvorený automaticky (možnosti projektu).
- Vložte jednotku AboutBox do klauzuly použitia hlavného formulára.
- Nezabudnite deklarovať postup v rozhraní (verejnej) časti jednotky AboutBox.