Object Pascal はクラスに対応しています
クラスは以下のメンバーを格納する入れ物です
- フィールド:クラス内部に定義された変数
- メソッド:クラス内のプロシージャ/関数
- プロパティ:構文上はフィールドのように見えますが、実体は読み取り用・書き込み用の一対のメソッドで実装されます
クラスにはその他の種類のメンバーも記述可能で、後ほど解説します。
クラスはオブジェクト指向プログラミングのために定められた構文ルールで、変数と関数をまとめてカプセル化する目的があります。変数は同種の事物が持つ固有の特徴を表現し、関数はその事物が行う動作や振る舞いを定義します。
現実世界に置き換えて考えると、何かの対象について「何か」「何ができるか」で説明します。「何か」がプロパティ、「何ができるか」が振る舞いに該当します。例えば人間には名前、年齢、性別といったプロパティがあり、歩く、食べる、歌うといった動作も備えています。
type
TMyClass = class
MyInt: Integer; // フィールド
property MyIntProperty: Integer read MyInt write MyInt; // プロパティ
procedure MyMethod; // メソッド
end;
procedure TMyClass.MyMethod;
begin
WriteLn(MyInt + 10);
end;
上記はクラス定義の構文例で、このコード単体では実行できません。以降のセクションで実行手順を紹介します。