手続き名と手続き本体は実行時に結合されるので、複雑な条件式を考えなくともよい。 これをダイナミックバインディング(動的束縛)と呼ぶ。 既存のコードに手を加えることなく、新たなクラスを作成したり内容を変更したり できるので、拡張性・柔軟性という点において非常に優れている。 例えば、新たにサブクラスが増えたときでも、システムの拡張はサブクラスに 関するものだけで済む。オーバーローディングと併用すると効果的である。
(A)インヘリタンスだけは使用 → 121行
(B)インヘリタンス・オーバーローディング・ポリモフィズムを使用 → 95行
(A)インヘリタンスだけは使用 → 146行
(B)インヘリタンス・オーバーローディング・ポリモフィズムを使用 → 98行