ユーチューブ動画

抽象クラスについて解説します。

ソースコード

解説

抽象クラスについて解説します。

 

以前の動画でクラスの継承関係について、解説しました。

継承関係では、共通の機能を持つクラスをスーパークラス、スーパークラスを利用する側のクラスをサブクラスと呼んでいました。

抽象クラスは、クラスの継承関係において、スーパークラス専用のクラスと明確に宣言したいときに利用します。

具体的には、abstractとつけると、このクラスからはインスタンスはできないよ、スーパークラスで利用してねという意味合いになります。

あくまでクラスの設計の概念を明確にするだけですから、プログラムに影響することはありません。

 

また、ご覧のメソッドのように、抽象クラスでは、抽象メソッドを宣言できます。

抽象メソッドは、オーバーライドする専用のメソッドです。

抽象クラスの中では、処理は書きません。

サブクラス側で処理を記述してくださいというように、こちらもその概念を明確にするための方法です。

なお、抽象メソッドでは、処理を記述しないので、セミコロンで終わります。

 

抽象メソッドが含まれる抽象クラスを継承したサブクラス、ここでは、PrinterクラスやComputerクラスでは、必ず抽象メソッドをオーバーライドしなければいけません。

ここでは、それぞれのクラスのメンバ変数を出力しています。

 

実行してみましょう。

インスタンスにご覧のようなデータを入れましたので、オーバーライドされたそれぞれのメソッドが働き、実行結果が表示されます。

どうして、このような結果になったのかという点については、次の動画で詳しく解説していますので、ぜひご覧ください。

 

このような抽象クラスや抽象メソッドをうまく利用することで、プログラマーに、設計の意図を守らせることができるようになります。

抽象クラスや抽象メソッドにはabstractをつけることを押さえておきましょう。

以上、抽象クラスについて解説しました。

 

 

このサンプルコードをJavaタッチタイプゲームとして遊ぶことができます。