JAva学習ノート---多態の使い方をテストする
3631 ワード
JAva学習ノート(高琪版)
オブジェクト向けOOP
多態の使い方をテストする
親に継承された3つの子を定義します.
package com.lyr.oop.polymorphism;
/*
*
*/
public class Animal {
String name;
public void voice(){
System.out.println(" ");
}
}
class Cat extends Animal {
public void voice(){
System.out.println(" ");
}
public void Catch(){
System.out.println(" ");
}
}
class Dog extends Animal{
public void voice(){
System.out.println(" ");
}
}
class Pig extends Animal{
public void voice(){
System.out.println(" ");
}
}
testクラス、新しい親オブジェクトでいいです.コードの実行時に具体的なオブジェクトを考慮します.
package com.lyr.oop.polymorphism;
public class Test {
public static void testAnimalVoice(Animal c){
c.voice();
if (c instanceof Cat ){ // instanceof ,
((Cat) c).Catch();
}
}
// , Cat;
/*public static void testAnimalVoice(Cat c){
c.voice();
}
*/
public static void main(String[]args){
Animal a = new Cat();
testAnimalVoice(a);
Animal b = new Dog();
testAnimalVoice(b);
Pig c = new Pig();
testAnimalVoice(c);
}
}
Instanceofの使い方は、入力したオブジェクトが指定されたオブジェクトであるかどうかを判断し、多態の方法に置く.このサブクラスオブジェクト固有で特別な実行が必要なメソッドを呼び出す必要がある場合は、使用できます.