#このチュートリアルの動作環境: Windows7 システム、Java8 バージョン、DELL G3 コンピューター。 ポリモーフィズムの概要1.Java では、ポリモーフィズムは、同じ動作が複数の異なる表現または形式を持つことができる機能です。ポリモーフィズムは、異なるインスタンスを使用して異なる操作を実行する同じインターフェイスです。ポリモーフィズムの利点: 1. 型間の結合関係の排除、2. 置換、3. 拡張性、4. インターフェース、5. 柔軟性、6. 簡素化。
ポリモーフィズムは、カプセル化と継承に続くオブジェクト指向の 3 番目の主要な機能です。
2. ポリモーフィズム実際的な意味理解:
学生 であると同時に 人物 です。つまり、2 つの形式 があります。オブジェクトの言語は、1 つのものの複数の形式を記述することもできます。 Student クラスが Person クラスを継承する場合、Student オブジェクトは Student と Person の両方になります。
に反映されます。
注: 多態性の親クラス参照変数を使用してメソッドを呼び出すと、サブクラスの書き換えられたメソッドが呼び出されます。
#5. ポリモーフィズムの定義と使用形式定義形式:親クラス型変数名=新しいサブクラス型();
6. 理解する:ポリモーフィズムとは、同じ動作が複数の異なる表現や形式を持つ能力です。ポリモーフィズムは同じインターフェイスであり、異なるインスタンスを使用して異なる操作を実行します。
##柔軟性
親クラスの参照は、子クラスのオブジェクトを指します:
Fu f=new Zi(); System.out.println(f.num);//f是Fu中的值,只能取到父中的值
2. 多態性メンバー メソッド: コンパイル時は左側、実行時は右側を確認します<pre class="brush:js;toolbar:false">Fu f1=new Zi();
System.out.println(f1.show());//f1的门面类型是Fu,但实际类型是Zi,所以调用的是重写后的方法。</pre>
ユースケース:
Fu f1=new Zi(); Fu f2=new Son(); if(f1 instanceof Zi){ System.out.println("f1是Zi的类型"); } else{ System.out.println("f1是Son的类型"); }ポリモーフィック変換
使用形式: 親クラス型変数名 = 新しい子クラス型();
package day0524; public class demo04 { public static void main(String[] args) { People p=new Stu(); p.eat(); //调用特有的方法 Stu s=(Stu)p; s.study(); //((Stu) p).study(); } } class People{ public void eat(){ System.out.println("吃饭"); } } class Stu extends People{ @Override public void eat(){ System.out.println("吃水煮肉片"); } public void study(){ System.out.println("好好学习"); } } class Teachers extends People{ @Override public void eat(){ System.out.println("吃樱桃"); } public void teach(){ System.out.println("认真授课"); } }例 2:プロジェクトを実行した結果はどうなりますか?
package day0524; public class demo1 { public static void main(String[] args) { A a=new A(); a.show(); B b=new B(); b.show(); } } class A{ public void show(){ show2(); } public void show2(){ System.out.println("A"); } } class B extends A{ public void show2(){ System.out.println("B"); } } class C extends B{ public void show(){ super.show(); } public void show2(){ System.out.println("C"); } }回答: A B
以上がJavaポリモーフィズムを理解する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。