ITP2 - OOP Tutorials - Inheritance - super

The interesting concept we want to explain is the use of super in the
GoodDog class. In this example, we're using super with no arguments.
However, the initialize method, where super is being used, takes an
argument and adds a new twist to how super is invoked. Here, in addition
to the default behavior, super automatically forwards the arguments that
were passed to the method from which super is called (initialize method
in GoodDog class). At this point, super will pass the color argument in
the initialize defined in the subclass to that of the Animal superclass
and invoke it. That explains the presence of @name="brown" when the
bruno instance is created. Finally, the subclass' initialize continues
to set the @color instance variable.