Objekty - opakování
Implementovali jsme zásobník. Připravený okomentovaný polotovar je zde.
Přitom jsme v praxi použili následující:
- -objekt (
type Tstack = object
) - -atribut (
top: PBox;
) - -metody (
procedure push(x: integer);
afunction pop: integer;
) - -konstruktor (
constructor init;
) - -destruktor (
destructor destroy;
)
Moduly
Ukázali jsme si, jak se vytvoří a použije jednoduchý programový modul.
Moduly jsou podobné programům - poznají se podle toho, že jsou uvedeny klíčovým slovem unit
.
V jednom modulu by měly být kusy kódu, které spolu logicky nějak souvisí.
Každý programový modul (např. unit stack;
) je rozdělen na dvě hlavní části:
- - vše, co je uvedeno v první části zvané rozhraní (začíná slovem
interface
) budeme moct používat v programu, který modul používá (např. takto:uses stack;
) - - v druhé části je implementace všech procedur,
funkcí a metod (procedury a funkce obsažené v objektech). Tato část začíná slovem
implementation
Modul může ještě obsahovat inicializační část. Pokud není co inicializovat, můžeme ji nechat prázdnou.
Detaily k syntaxi je možné nalézt například v referenční příručce (kapitola 16.2).
Hledání cyklů v grafu
V CodExu je zadána nová úloha. Cykly v grafu snadno odhalíme pomocí DFS, takže pokud máte funkční zásobník ze cvičení, můžete ho s výhodou použít.
Jak jsem poprvé použil modul
Kdysi jsem naprogramoval jednoduchého
hada,
který využívá modul Crt
.
Kód může v mnoha ohledech posloužit jako odstrašující příklad toho, jak by se programovat nemělo. Dejte mi vědět, kdyby se vám ho podařilo přeložit a spustit.