既存クラスの利用
3-4 :上位クラスの継承
このユニットが前頁のユニットを継承したものです。
ここでは黒いネコではなく、白いネコを呼び出す為、各出現ポイントを override (上書き)しています。
”上書き”とは文字通り、その作業を一度まっさらな状態に戻し、再度処理を加えるというものです。
学校を思い浮かべてみましょう。
黒板に書いていた作業項目を消し、そこに新らしい作業項目を書き込むという工程が、まさにこの override です。
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
StdCtrls, Dialogs, ExtCtrls, mmsystem,MainUnit, Unit1;
//↑この二つを追加 : mmsystem については後述
type
TWhiteCatWork = class(TCatWork)
private
{ Private 宣言 }
public
{ Public 宣言 }
procedure UP; override;
procedure DOWN; override;
procedure RIGHTA; override;
procedure RIGHTB; override;
procedure LEFTA; override;
procedure LEFTB; override;
end;
var
WhiteCatWork :TWhiteCatWork;
implementation
//以下、出現ポイントのみを上書き
procedure TWhiteCatWork.UP;
begin
SETCAT;
Top := 23;
Left := 176;
Picture.LoadFromFile(Cat.BMPFile + 'WCat1.bmp');
end;
procedure TWhiteCatWork.DOWN;
begin
SETCAT;
Top := 284;
Left:= 168;
Picture.LoadFromFile(Cat.BMPFile + 'WCat2.bmp');
end;
procedure TWhiteCatWork.RIGHTA;
begin
SETCAT;
Top := 260;
Left := 410;
Picture.LoadFromFile(Cat.BMPFile + 'WCat2.bmp');
end;
procedure TWhiteCatWork.LEFTA;
begin
SETCAT;
Top := 216;
Left := 8;
Picture.LoadFromFile(Cat.BMPFile + 'WCat3.bmp');
end;
procedure TWhiteCatWork.LEFTB;
begin
SETCAT;
Top := 246;
Left := 80;
Picture.LoadFromFile(Cat.BMPFile + 'WCat3.bmp');
end;
procedure TWhiteCatWork.RIGHTB;
begin
SETCAT;
Left := 360;
Picture.LoadFromFile(Cat.BMPFile + 'WCat1.bmp');
end;
end.