package com.Test20140723;
public class TestPolymorphism
{
public static void main(String[] args)
{
Animal a1 = new Animal("BigAnimal");
Animal a2 = new Dog("SmallAnimal","SmallDog");
Animal a3 = new Cat("SmallSmallAnimal","SmallCat");
//Animal a4 = new Bird("LittleAnimal","Smallbird");
LittleGirl l1 = new LittleGirl("AXu",a1);
LittleGirl l2 = new LittleGirl("PiJia",a2);
LittleGirl l3 = new LittleGirl("PiPi",a3);
//LittleGirl l4 = new LittleGirl("Doubi",a4);
a1.enjoyTest();
a2.enjoyTest();
a3.enjoyTest();
l1.petEnjoyTest();
l2.petEnjoyTest();
l3.petEnjoyTest();
//l4.petEnjoyTest();
}
}
class Animal
{
private String name;
public Animal(String s)
{
name = s;
}
public void enjoyTest()
{
System.out.println( name + "叫声。。。");
}
}
class Dog extends Animal
{
private String dogname;
public Dog(String s,String Dogname)
{
super(s);
dogname = Dogname;
}
public void enjoyTest()
{
System.out.println( dogname + "狗叫声。。。");
}
}
class Cat extends Animal
{
private String catname;
public Cat(String s,String catname)
{
super(s);
this.catname = catname;
}
public void enjoyTest()
{
System.out.println( catname + "猫叫声。。。");
}
}
class LittleGirl
{
private String name;
Animal pet;
public LittleGirl(String name,Animal a)
{
this.name = name;
pet = a;
}
public void petEnjoyTest()
{
System.out.println( name + "'s" );
pet.enjoyTest();
}
}