Java プログラミング入門チュートリアル -- 書き換えをカバー

目次

多態性

多態性分類法

上書き(書き換え)

サンプルプログラム


多態性

OOP       では、ポリモーフィズムは、プログラム内で同じ名前を持つ異なるメソッドが共存することを指します。これらのメソッドの名前が同じであるのは、最終的な機能や目的が同じであるためですが、同じ機能を実現する際に異なる具体的な状況に遭遇する可能性があるため、複数の具体的な実装形態を表現するには、内容の異なるメソッドを定義する必要があります。

      ポリモーフィズムの存在は、クラス間の継承関係から必然的に生じるものであり、継承関係があるからこそ、2 つのクラスの間には、親と子の関係という比較的密接な関係が存在します。

     ポリモーフィズムの概念をわかりやすく言うと、システムが現在のオブジェクトの型 (サブクラスまたは親クラス) を自動的に認識し、対応するプロパティまたはメソッドにアクセスするということです。

多態性分類法

       静的多態性 (コンパイル時多態性) はメソッドのオーバーロードによって実現され、動的多態性 (実行時多態性) はメソッド オーバーライドによって実現されます。

上書き(書き換え)

       オーバーライド (書き換えとも呼ばれます) は、親クラスのメソッドと同じ構造 (つまり、同じメソッドの戻り値の型、同じメソッド名、および同じメソッド パラメーター リスト) を持つサブクラスで定義されたメソッドを指します。

      クラスにオーバーライドする現象がある場合は、このクラスに関連するサブクラスまたは親クラスが存在する必要があります。実行フェーズでは、システムは、どのオーバーライド メソッドを呼び出すかについて、メソッドの呼び出し元のタイプ (親クラスまたはサブクラス) に応じて、どのメソッドを呼び出すかを決定します。

サンプルプログラム

サブクラスは親クラスのメソッドをオーバーライドし、それらを個別に呼び出します。

 

     プログラムでは、StudentサブクラスがPersonクラスのTellメソッドをオーバーライドします。親クラスのメソッドがオーバーライドされると、サブクラスまたはサブクラス オブジェクトはオーバーライドされたメソッドを呼び出しますが、親クラスまたは親クラス オブジェクトは引き続きオーバーライドされたメソッド自体を呼び出すことができます。サブクラスは親クラスのtell()メソッドを書き換えますが、親クラスのメソッドの内容をすべて破棄してメソッドを書き換えるのが特徴で、これをオーバーライド書き換えと呼びます。  

おすすめ

転載: blog.csdn.net/u010764893/article/details/131139551