Stejne jako v jinych objektove orientovanych jazycich se nemusi nic pretypovavat - resp. udela se tam implicitni pretypovani.


Napr:

Kód:
TPrvek = class
 procedure Zpracuj(co: TPrvek);
end;

TDalsiPrvek = class (TPrvek)
end;

TDalsi2Prvek = class (TPrvek)
end;
v kodu pak muzes napsat toto:

Kód:
var 
  prvek: TPrvek;
  dalsiPrvek: TDalsiPrvek;
  dalsi2Prvek: TDalsi2Prvek;
begin
  prvek = TPrvek.Create();
  dalsiPrvek = TDalsiPrvek.Create();
  dalsi2Prvek = TDalsi2Prvek.Create();
  prvek.Zpracuj(dalsiPrvek);
  prvek.Zpracuj(dalsi2Prvek);
end;