1. 程式人生 > >多型的典型例子(向上轉型)

多型的典型例子(向上轉型)

/*多型的例子*/
abstract class Animal{
abstract void eat();
abstract void sleep();
}


class Dog extends Animal{
void eat(){
System.out.println("豬吃飼料");
}
void sleep(){
System.out.println("豬睡覺");
}
}


class Cat extends Animal{
void eat(){
System.out.println("貓吃魚");
}
void sleep(){
System.out.println("貓側著睡覺");
}
}


public class DuoTaiDemo1 {


public static void main(String[] args) {
// TODO Auto-generated method stub
Animal a = new Dog(); //向上轉型,把狗當作動物來使用
method(a);
System.out.println("---------");
Animal b = new Cat();
method(b);
}

public static void method(Animal a){
a.eat();
a.sleep();
}
}




/*執行結果:
豬吃飼料
豬睡覺
---------
貓吃魚
貓側著睡覺
*/