&gt; Then if all those classes inherit from a common animal ancestor, the calling code would simply say: animal.makesound()<p>Which of course throws an exception in the case of Monk (inheriting from Animal -&gt; Human), as it has taken a vow of silence.