In C#, I can do this:
class Program
{
static void Main(string[] args)
{
List animals = new List();
anima
A little variant of manveru's solution which dynamic create different kind of object based in an array of Class types. Not really different, just a little more clear.
Species = [Dog, Cat]
Species.each do |specie|
animal = specie.new # this will create a different specie on each call of new
print animal.MakeNoise + "\n"
animal.Sleep
end