Revised: Dec./30th/2001: Since: Dec./30th/2001
不完全なメソッドを持つクラスを抽象クラスと呼びます。このようなクラスは、継承され、サブクラスでオーバーライドされることによって当該メソッドの実装を果たし、はじめてインスタンス化され得ます。
抽象メソッドは修飾子 abstract で宣言します:
abstract [戻り値型] <メソッド名>(シグネチャ);
通常のメソッドならば、実際の処理が {} の中に記述されているはずですが、抽象メソッドの場合はセミコロン ; になっています。
抽象メソッドでは、メソッド名とシグネチャ、戻り値の型の宣言だけ行います。
抽象メソッドを持つクラスは抽象クラスであり、修飾子で abstract 宣言しておかなければなりません:
abstract class <クラス名>{
メンバ変数
コンストラクタ
抽象メソッド
普通のメソッド
}
抽象クラスはインスタンス化できません。必ず継承されて、継承したサブクラスがインスタンス化されます。このとき、抽象クラスの抽象メソッドはオーバーライドされて、完全なものになっていることが必要です。
次節で抽象クラスの利用方法について紹介します。