[Javaの]多型

ポリモーフィズム

多型は何ですか?

それは、物事の様々な形態を指します。
たとえば:猫は動物です。猫は猫です。
----------------------------------------------

ポリモーフィックの前提条件

関係は、継承または実装した
メソッドのオーバーライドを持っている
親、子クラスオブジェクトへの参照を持っています
----------------------------- -----------------

ポリモーフィックメンバーアクセス機能

メンバー変数:親クラスを参照するには、親クラスを参照するには、コンパイラ、実行
メンバーの方法を:コンパイルは、サブクラスの実行を確認するために、親クラスを参照してください
-------------------------- --------------------

ポリモーフィック利点と欠点

利点:コードの拡張性と保守性向上の
欠点を:あなたは、特定のサブクラスのメンバーを使用することはできません
------------------------------- ---------------

ポリモーフィック使用シナリオ
使用メソッドの引数と戻り値として。あなたは、コードのスケーラビリティを向上させることができます。
----------------------------------------------

ポリモーフィック:

main {
	Dog d = new Dog();
	method(d);

	Cat c = new Cat();
	method(c);
}
public static void method(Animal a) {
	a.eat();
}

ポリモーフィックの移行

アップキャスト:親サブクラスオブジェクト参照の
ダウンキャスト:対応する実サブクラスオブジェクトに親型ターンによって参照
形式:

目标对象类型 对象名 = (目标对象类型) 被转换的引用

:コンバージョンの同じタイプのことを確保するようにしてください。ClasCatException:それ以外の場合は、異常な型変換を引き起こす可能性があり

キーワード:instanceofの
左、右のタイプのオブジェクトであるかどうかを決定するための基準

main {
	Animal a = new Dog();

	Dog d = new Dog();
	method(d);

	Cat c = new Cat();
	method(c);
}
public static void method(Animal a) {
	a.eat();

	if(a instanceof Dog) {
		Dog d = (Dog)a;
		d.lookHome();
	}else if (a instanceof Cat) {
		Cat c = (Cat)a;
		c.catchMouse();
	}
}
公開された38元の記事 ウォンの賞賛4 ビュー817

おすすめ

転載: blog.csdn.net/Hide111/article/details/105035992
おすすめ