Class・Object

Java オブジェクト指向の解説・ポリモフィズム(abstract)

ポリモフィズムは多様性を意味します。
傾斜によるメソッドのオーバーライドをして多様性を示現する手段です。
これが重要な働きをするので抑えておく必要があります。

Javaでは、ポリモフィズムを用いることで
高度で且つ柔軟な設計が可能になります。

大きいプロジェクトほど使用する
頻度も多いので、重要なポイントになってきます。

SPONSORED LINK

ポリモフィズムの基礎

呼び出し方は同じですが、
呼び出し先の処理が違うことになります。

オーバーライドすることで、
上記のイラストのような処理が可能になります。


継承する際に2つの不都合が発生する

不都合A
設計の段階で継承の材料となるクラスを作成する時点では、
その処理内容をまだ確定できない「抽象メソッド」が
存在する為、以下の事が起こり得る(未確定メソッド)

  • ①オーバーライドの処理を忘れてしまう
  • ②何もしない処理との区別がつかない

不都合B
クラスには自由に選べる2つの利用方がある為、以下の事が起こり得る

  • ③意図せずにnewして利用されてしまう


SPONSORED LINK

抽象メソッドを含むクラスの宣言


・不都合Aの②を解決する

アクセス修飾子 abstract class クラス名{
アクセス修飾子 abstract 戻り値 メソッド名(引数);
}

abstract(アブストラクト)は「抽象的・曖昧」という意味です。
abstractが付いた処理は、「現時点では具体的に決めていないので
記載しない」という意味合いになります。

メソッドに最後はブロック記号の{}は付けず、セミコロン記号の;を付けます。

抽象クラスの制約


・不都合Bの③を解決する

抽象クラスとして宣言されたクラスは
Hunter m = new Hunter();
のようにインスタンス生成すると
コンパイルに失敗しエラーが発生します。

エラー:型 Hunterのインスタンスを生成出来ません。

ある程度理解ができた方はこちらを参考にしてください。
抽象クラスを実際に使用した本格的なプログラムになっています。
Java Template Method デザインパターン(abstract)の使い方や特徴を具体的な例で徹底解説

処理内容が未確定で且つ
継承するクラスを開発する際には、抽象クラスとていて宣言することで
インスタンス生成を防ぐことができます。

SPONSORED LINK

Java オブジェクト指向の解説・継承前のページ

Spring MyBatisのSQL!!IN句を使用する方法とは?次のページ

ピックアップ記事

  1. Java クラスのインスタンス化・初期化とは?
  2. Java入門 JavaプラットフォームやJava言語の仕組み
  3. Java 9が正式リリース

関連記事

  1. Class・Object

    Java プロパティファイル(property)の作成と読み込み、編集方法、配置先の解説

    こちらの記事でプロパティファイル(property)の使い方を応用して…

  2. Class・Object

    Java ファイルやディレクトリの存在チェック(exists)とパターンを解説

    こちらの記事でファイルやディレクトリの存在チェック(exists)を応…

  3. Class・Object

    Java オブジェクト指向とは?初心者向けにわかりやすい概要!!

    オブジェクト指向の特徴は開発対象となるシステム化対象領域を、「モノ…

  4. Class・Object

    Java プロパティファイルを使ってテキスト(txt)入力ファイルの読み込みとパターンを解説

    こちらの記事でプロパティファイルを使って入力ファイルの読み込みを応用し…

  5. Class・Object

    Java オブジェクト指向の解説・カプセル化

    カプセル化とは、情報へのアクセスや動作の処理を隠蔽することでアクセ…

  6. Class・Object

    Java オブジェクト指向の解説・継承

    処理を受け継ぐ「継承」とは以前作成したクラスと似通ったクラスを作成…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

Recommended Article

Pickup

  1. News

    郵便番号・住所検索用開発ツール「Yubin7 for Java」
  2. News

    JVM上で動く動的言語Groovy、2018年のロードマップは
  3. Basic

    Java入門 JavaプラットフォームやJava言語の仕組み
  4. Eclipse

    Java インストールしたJREとEclipseを連動させる(設定)手順を解説!…
  5. Basic

    Java 命名規則やルールを解説!フェーズの参考情報(パッケージ,クラス,メソッ…
PAGE TOP

Copyrighted Image