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