Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Cvičení 4 Dědičnost objektů.

Podobné prezentace


Prezentace na téma: "Cvičení 4 Dědičnost objektů."— Transkript prezentace:

1 Cvičení 4 Dědičnost objektů

2 Příklad 1… V DELPHI vytvořte objektové třídy obdobné těm na přednáškách: třídu TObrazec, která bude obsahovat atributy X,Y,Barva a metody Vykreslit, Smazat, Přesunout a Přebarvit; třídu TObdélník, zděděnou z TObrazec, která bude mít navíc atributy Vyska, Sirka a metodu Zvetsit; třídu TKruh, zděděnou z TObrazec, která navíc bude mít atribut Polomer a metodu Zvetsit.

3 …pokračování Vytvořte správné metody ke všem třídám. (Návod: metody realizujte jako jednoduchá volání procedury ShowMessage) Ke každé z těchto tříd vytvořte jednu instanci objektu. Ověřte, které třídy jsou mezi sebou kompatibilní (tzn. lze mezi nimi provést přiřazení).

4 Příklad 2 Za chodu programu (!) vytvořte pole tlačítek typu TButton.
Ověřte jejich funkčnost.

5 Řešení příkladu 1... 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í }

6 …pokračování... 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 zde zapíší pouze hlavičky }

7 …pokračování... procedure Smazat;
procedure Presunout(NoveX, NoveY: integer); procedure Prebarvit(NovaBarva: integer); end; { konec deklarace třídy TObrazec }

8 …pokračování... 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 }

9 …pokračování... TKruh = class(TObrazec) { Třída TKruh je zděděna z třídy TObrazec } public Polomer: integer; procedure Zvetsit(NovaVyska,NovaSirka); end; { TKruh }

10 …pokračování... var O : TObdelnik; { Instance objektů jsou v sekci INTERFACE, } K : TKruh; { aby tyto objekty byly viditelné zvnějšku }

11 …pokračování... 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. }

12 …pokračování procedure TKruh.Zvetsit; begin
// tady je program pro zvětšení kruhu ShowMessage(’Jsem v TKruh.Zvetsit’); end; …ostatní metody budou podobné.


Stáhnout ppt "Cvičení 4 Dědičnost objektů."

Podobné prezentace


Reklamy Google