Úvod do OOP

 

Objekt Korytnačka

V doterajších príkladoch sme zadefinovali a používali buď celočíselné premenné (integer) alebo premenné typu Kor -- t.j. korytnačky.

Tieto korytnačkové premenné sa líšia od "obyčajných" premenných tým, že

Vlastnosti:

! Otvorme si Delphi a začnime s novým projektom File --> New Application.

Nezabudnite do časti uses Unitu1 dopísať na začiatok KorUnit, projekt si zapíšte do nového adresára a do tohto adresára si zapíšte aj súbor KorUnit.pas.

Do formulára vložme  Image a Button. Napíšme jeho inicializačnú procedúru.

Na minulej aktivite sme kreslili obrázky a definovali ich na tlačidlá. Lenže to sú vlastne procedúry, ktoré sa vzťahujú na korytnačku, takže by bolo prirodzené, keby to boli jej metódy -- každý objekt typu korytnačka by vedel nakresliť napr. štvorec.

Ako to urobiť

Použime druhú možnosť a v editore Unitu1 a do časti implementation dopíšme deklarácie novej triedy a definíciu novej metódy:
 
type MyKor = class(Kor)
               procedure Stvorec(d:integer);
             end;

procedure MyKor.Stvorec(d:integer);
var i:integer;
begin
  for i:=1 to 4 do begin dopredu(d); vpravo(90); end;
end;

! Na stlačenie Button1 nakreslite štvorec veľkosti 40. Nezabudnite zadeklarovať objekt -- inštanciu triedy MyKor , napr. var K: MyKor; a vytvoriť ho pomocou K:=MyKor.Create(0,0,0); -- inak Delphi vyhlasujú chybu.

Vytvorte ďalší objekt typu MyKor, napr. K1, ale vytvorte na inom mieste, napr. K1:=MyKor.Create(100,100,45);

Na stlačenie Button1 nech obe tieto inštancie nakreslia štvorec.

Uvedomte si rozdiel medzi definíciami z tejto a z minulej aktivity:

Vtedy bolo potrebné pre každú korytnačku napísať časť programu na kreslenie nejakého obrázka

Teraz je samotné kreslenie obrázka metóda celej triedy MyKor a teda všetky inštancie tejto triedy môžu túto metódu použiť.




Súbor vznikol na základe prednášok Andreja Blaha