Objektový model Lazarus
Pre úspešné objektové programovanie v Lazarus je potrebné poznať a pochopiť objektový jeho model. Tento objektový model vychádza z objektového modelu Delphi, takže ak ho poznáte, máte vyhraté. Ak ho nepoznáte, čítajte ďalej.
Objektový model Lazarus je založený na objektovom modeli Free Pascalu, doplneného o knižnicu vizuálnych komponentov. Táto knižnica vizuálnych komponentov je nazvaná LCL (Lazarus Component Library) a jej kompletné zdrojové kódy nájdete v adresári lcl svojej inštalácie Lazarus.
Základné pojmy
Free Pascal je objektový programovací jazyk, čiže podporuje objektové porgramovanie. K základným pojmom objektovo orientovaného programovania patria pojmy ako objekt, trieda, dedičnosť, polymorfizmus a zapúzdrenie.
Deklarácia triedy{ deklaracia triedy } type TNovaTrieda = class premenna1: Integer; premenna2: String; procedure Vypis; function Spoj; end;
Objekty a triedy
Trieda je vlastne akýsi druh deklarácie typu, ktorá popisuje členy, metódy a vlastnosti triedy. Triedu možno deklarovať v rozhraní aj v implementačnej časti jednotky, ale jej metódy musia byť definované v implementačnej časti.
Objekt je dynamická inštancia triedy, ktorá obsahuje hodnoty všetkých členov deklarovaných v triede a v jej predkoch. Objekt je akousi obdobou premennej typu triedy. Pred použitím objektu musí byť deklarovaný a vytvorený. Za vytvorenie a uvoľnenie objektu je zodpovedný programátor.
Deklarácia a vytvorenie objektu// deklarácia objektu var myTrieda: TNovaTrieda; // vytvorenie objektu myTrieda := TNovaTrieda.Create;
Po tom, ako prestaneme objekt potrebovať, je potrebné ho z pamäte uvoľniť:
myTrieda.Destroy
takéto odstránenie objektu ho síce z pamäte uvoľní, ale teraz objekt myTrieda ukazuje na neplatný popisovač, takže mu treba priradiť hodnotu nil, alebo objekt uvoľňovať pomocou FreeAndNil:
FreeAndNil(myTrieda);
Zložky triedy a objektu
Vnútorná štruktúra triedy a objektu sa podobá na štruktúru typu záznam (record). Jednotlivé zložky objektu sú vlastne premenné, ktoré v sebe nesú informácie o danom objekte. Z hľadiska ich použitia možno tieto premenné rozdeliť na tri typy - členy, metódy a vlastnosti.
Členy
Člen objektu je doslova a do písmena premenná akéhoľvek typu, ale z pohľadu Objektovo orgientovaného programovania je použitie takých to premenných - členov nesystémové, odporujúce zásadám OOP. Využíva sa len pre súkromné premenné, ktoré nie sú prístupné vonkajšiemu svetu. Identifikátory takýchto súkromných členov je zvykom pomenovávať tak, že začínajú písmenom f. K hodnotám súkromných členov objektov sa potom pristupuje pomocou vlastností.
Metódy
Metódy sú silným nástrojom tried a udávajú čo objekt robí. V podstate sa jedná o premenné procedurálneho typu, čiže vlastne o procedúry a funkcie, ktoré vykonávajú s objektom a jeho stavom nejakú činnosť.
Vlastnosti
Vlastnosti sú špeciálny druh členov a ich úlohou je uchovávať hodnoty premenných a riadiť prístup k nim. Je možné definovať vlastnosti, ktoré sú len na čítanie alebo, naopak len na zapisovanie. Hodnotu vlastnosti môže vracať funkcia. Aj zápis do vlastnosti môže byť vykonávaný priamo alebo prostredníctvom metódy.
- Predch.
- Nasled. >>


