アクセス指定子、メソッドのオーバーロード

アクセス指定子はクラスに適用される、いわゆる他からアクセス出来るかどうかを決めるものです。例を見てください。

TClassName = class(ParentClass)
private
  ..........
protected
  ..........
public
  ..........
published
  ..........
end;
private
private メンバーは、そのクラスが所属するユニットの外からは見えません。private は、基本的にオブジェクトのユーザーからフィールドを直接変更できないようにするためにに使います。
protected
protected メンバーは、そのクラスが所属するユニットの中では、どこからでも見え、さらに、その下位クラスからも見えます。この下位クラスは、どのユニットにいるかは関係ありません。
public
public は、どこからでも見えます。なお、コンストラクタとデストラクタは常に public でなければなりません。
published
published は、オブジェクトインスペクタでプロパティを表示する時などに使用されます。ここでは、あまり気にしなくてもいいと思います。

メソッドのオーバーロード

オーバーロードに関しては、こちらを参考にして下さい。オーバーロードは、クラスのメソッドにも適用する事が出来ます。ここでは、簡単な例を見てみることにします。

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private 宣言 }
  public
    { Public 宣言 }
  end;

  TCalculation = class(TObject)
  public
    procedure addition(i, j: Integer); overload;
    procedure addition(str1, str2: string); overload;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  Calculation: TCalculation;
begin
  Calculation := TCalculation.Create;
  Calculation.addition(10, 20);
  Calculation.addition('Object ', 'Pascal');
  Calculation.Free;
end;

{ TCalculation }

procedure TCalculation.addition(i, j: Integer);
begin
  ShowMessage(IntToStr(i + j));
end;

procedure TCalculation.addition(str1, str2: string);
begin
  ShowMessage(str1 + str2);
end;

end.

up next
Last update: 2002/7/17