static void Main(string[] args) { Animal[] animals = { new Tiger(), new Deer(), new Horse(), //new Bird(), new Snake(), new Cow(), //new Animal(), new Crocodile(), new Parrot(), // new Reptile(), new Camel(), //new Mammal(), //new Cat(), new Eagle(), new Dog(), }; foreach (var animal in animals) { if (animal.IsDomestic) { Console.Write("Domestic "); } Console.WriteLine("Animal is " + animal); Console.WriteLine(animal.Move()); Console.WriteLine(animal.Eat()); Console.WriteLine(animal.Breed()); //de-abstraction <--- NOT RECOMMENDED! //HuntIfYouAreATiger(animal); //re-abstraction HuntIfYouAreAHunter(animal); RideIfRideable(animal); Console.WriteLine(animal.Die()); Console.WriteLine(); } Console.WriteLine("Special Eagle's Death"); Eagle eagle = new Eagle(); Console.WriteLine(eagle.Die()); }