Deprecated: Function set_magic_quotes_runtime() is deprecated in /DISK2/WWW/lokiware.info/mff/wakka.php on line 35
  
Objekty v Pascalu
Podle přednášky z 
Programování II 19. 3. 2007:
Objekt je podobně jako často v jiných objektově orientovaných jazycích záznam (resp. struktura), ke které jsou (v závislosti na její třídě) asociované nějaké metody — funkce a procedury. Tomu odpovídá i syntaxe definice (resp. rozhraní a implementace) třídy objektů:
type JmenoTridy = object { nebo object(JmenoNadtridy) }
    {jako vnitrek definice}
    procedure JmenoProcedury1;
    procedure JmenoProcedury2;
    {... a obdobne funkce, strednik za deklaraci metody je povinny }
  end;
procedure JmenoTridy.JmenoNejakeProcedury;
begin
  { jako vnitrek obycejne procedury, k instancnim promennym se pristupuje jako k lokalnim }
end;
Poznámka: V Delphi 
class místo 
object.
Viditelnost složek objektu
Složky třídy mohou být odděleny klíčovým slovem 
private (před a po nejsou žádné středníky, dvojtečky). To znamená v Turbo Pascalu přístupné z téže jednotky, v Delphi z metod třídy (a 
protected z třídy a podtříd, 
public veřejné, 
published i z inspektoru objektů).
V každé části oddělené klíčovým slovem 
pněco jsou nejdříve instanční proměnné, pak metody.
Virtuální a statické metody, konstruktor
Implementace 
statických metod jsou vždy vyhodnoceny při kompilaci (tzn. při kompilaci se rozhoduje, implementace které třídy se v daném místě zavolá). Metody, které nejsou explicitně 
virtuální jsou statické. Deklarace virtuální metody (procedury v tomto případě):
procedure DoSomething; virtual;
Virtuální musí být metoda konsistentně i u všech potomků (a musí to tam být i napsané). Aby virtuální metody fungovaly, je třeba zavolat na objektu konstruktor (ten jako vedlejší efekt nastaví odkaz na tabulku virtuálních metod, takže objekt ví, co je), žádná inicializace objektu tedy neproběhne implicitně. Konstruktor se od procedury liší klíčovým slovem 
constructor místo 
procedure.
Další otravná věc je, že pokud potřebujeme volat metody třídy 
Y na objektech, o nichž víme jen, že náleží její nadtřídě 
X, musíme je už v třídě 
X deklarovat jako virtuální a implementovat třeba tak, aby vyvolaly běhovou chybu (
RunError(211), kde 211 kód chyby volání abstraktní metody). V Delphi označíme metodu slovem 
abstract a už ji nemusíme implementovat.
Dynamická alokace objektů
o : UkazatelNaObjektNejakeTridy;
{ ... }
o := New ( UkazatelNaObjektNejakeTridy, Konstruktor { s pripadnymi parametry jako u obycejneho volani} );