/**
 * An application to show polymorphism on variables describing some animals
 */
public class Zoo {

    public static void main(String[] args) {
	// declare a dog
	Dog myDog = new Dog("Pluto","bianco e nero");

	// declare another dog
	Dog mySecondDog = new Dog("Bobi","marrone");

	// declare a snake
	Snake mySnake = new Snake("Kaa","verde");

	// print informations about the three animals
	print(myDog);
	print(mySecondDog);
	print(mySnake);
    }
    
    /**
     * This function has a polymorphic behaviour. It applies to any
     * animal but has different behaviour depening on animal type
     */
    static void print(Animal animal) {
	System.out.println(animal.getName() 
			   + " e' un " + animal.getSpeciesName() 
			   + " " + animal.getColor() 
			   + " ed ha " + animal.getNLegs() + " zampe.");	
    }
}

/*
  EXPECTED OUTPUT:
  
Pluto e' un cane bianco e nero ed ha 4 zampe.
Bobi e' un cane marrone ed ha 4 zampe.
Kaa e' un serpente verde ed ha 0 zampe.
 
 */
