クラス継承の仕方
派生クラスを宣言するには
クラス宣言でキーワードclassの後にカッコを付けて、基底クラスを書きます。
TMyClass | = class(TMyBase) | // TMyBaseクラスから派生させる |
.......... | ||
end; |
仮想メソッドを使用するには
virtualキーワードを使用して宣言します。仮想メソッドは、派生クラスでオーバーライドできます。オーバーライドするときは、メソッド宣言でキーワードoverrideを使用します。
TMyBase | = class | |
procedure VirProc; virtual; | // 仮想メソッドの宣言 | |
..... | ||
end; | ||
TMyClass | = class(TMyBase) | |
procedure VirProc; override; | // 仮想メソッドをオーバーライド | |
..... | ||
end; |
基底クラスのコンストラクタを呼び出すには
派生クラスのコンストラクタで、基底クラスのコンストラクタを呼び出して、基底クラスを初期化させるには、inheritedキーワードを付けて基底クラスのコンストラクタを呼び出します。
TMyBase | = class | |
constructor CreateBase; | ||
.... | ||
end; | ||
TMyClass | =class(TMyBase) | |
constructor Create; | ||
...... | ||
end; | ||
implementation | ||
constructor TMyClass.Create; | ||
inheried CreateBase; | // 基底クラスのコンストラクタを呼び出す。 | |
.... | ||
end; | ||