抽象メソッドと抽象クラス

Revised: Dec./30th/2001: Since: Dec./30th/2001

不完全なメソッドを持つクラスを抽象クラスと呼びます。このようなクラスは、継承され、サブクラスでオーバーライドされることによって当該メソッドの実装を果たし、はじめてインスタンス化され得ます。

抽象メソッド

抽象メソッドは修飾子 abstract で宣言します:

abstract [戻り値型] <メソッド名>(シグネチャ);

通常のメソッドならば、実際の処理が {} の中に記述されているはずですが、抽象メソッドの場合はセミコロン ; になっています。

抽象メソッドでは、メソッド名とシグネチャ、戻り値の型の宣言だけ行います。

抽象クラス

抽象メソッドを持つクラスは抽象クラスであり、修飾子で abstract 宣言しておかなければなりません:

abstract class <クラス名>{
	メンバ変数
	コンストラクタ
	抽象メソッド
	普通のメソッド
}

抽象クラスはインスタンス化できません。必ず継承されて、継承したサブクラスがインスタンス化されます。このとき、抽象クラスの抽象メソッドはオーバーライドされて、完全なものになっていることが必要です。

次節で抽象クラスの利用方法について紹介します。



Copyright © 2001 SUGAI, Manabu. All Rights Reserved.