既存クラスの利用
3-4 :上位クラスの継承


  Unit2.pas            / 3-1   3-2   3-3   3-5   3-6  
このユニットが前頁のユニットを継承したものです。
ここでは黒いネコではなく、白いネコを呼び出す為、各出現ポイントを 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.
トップに戻る /  前に戻る /  次へ