unit Unit1; interface type TObrazec = class { identifikátory typů je zvykem psát s "T" na začátku } private { specifikátor viditelnosti, viz stránka o zapouzdření } Fbarva : integer; { identifikátory privátních proměnných bývá zvykem psát s "F" na začátku } public { specifikátor viditelnosti, viz stránka o zapouzdření } X, Y : integer; { souřadnice středu } procedure Vykreslit;{ z procedur a funkcí se zda zapíší pouze hlavičky } procedure Smazat; procedure Presunout(NoveX, NoveY: integer); procedure Prebarvit(NovaBarva: integer); end; { konec deklarace třídy TObrazec } TObdelnik = class(TObrazec) { Třída TObdelnik je zděděna z třídy TObrazec } public Vyska: integer; Sirka: integer; procedure Zvetsit(NovaVyska,NovaSirka); end; { TObdelnik } TKruh = class(TObrazec) { Třída TKruh je zděděna z třídy TObrazec } public Polomer: integer; procedure Zvetsit(NovaVyska,NovaSirka); end; { TKruh } var O : TObdelnik; { Instance objektů jsou v sekci INTERFACE, } K : TKruh; { aby tyto objekty byly viditelné zvnějšku } implementation { V části IMPLEMENTATION se dodefinují těla všech metod všech tříd. Povšimněte si, že před názvem metody se musí uvést jméno třídy, ke které ta metoda patří (oddělené tečkou). To proto, že stejné jméno metody může být ve více třídách, jako zde v případě Zvetsit. } procedure TKruh.Zvetsit; begin // tady je program pro zvětšení kruhu end; procedure TObdelnik.Zvetsit; begin // tady je program pro zvětšení obdélníka end; procedure TObrazec.Vykreslit; begin // nějaký program end; procedure TObrazec.Smazat; begin // nějaký program end; procedure TObrazec.Prebarvit(NovaBarva: integer); begin // nějaký program end; procedure TObrazec.Presunout(NoveX, NoveY: integer); begin // nějaký program end; end.