2.キーワード解説

  1. カプセル化
  2. メッセージ・パッシング
  3. クラスとインスタンス
  4. インヘリタンス(継承)
  5. オーバーローディング
  6. ポリモフィズム(多態性)★
  7. クラスライブラリ

ポリモフィズム(多態性)

同じ名前のメッセージを送っても、受け手によって適切な手続きが呼び出されること


手続き名と手続き本体は実行時に結合されるので、複雑な条件式を考えなくともよい。
これをダイナミックバインディング(動的束縛)と呼ぶ。


既存のコードに手を加えることなく、新たなクラスを作成したり内容を変更したり
できるので、拡張性・柔軟性という点において非常に優れている。
例えば、新たにサブクラスが増えたときでも、システムの拡張はサブクラスに
関するものだけで済む。オーバーローディングと併用すると効果的である。

オブジェクト指向言語「TIPPLER」によるコーディング行数の比較

  1. 3つの職種(SE、営業、事務)の検索・表示・更新処理をせよ

    (A)インヘリタンスだけは使用   → 121行

    コーディングを見る

    (B)インヘリタンス・オーバーローディング・ポリモフィズムを使用 → 95行

    コーディングを見る

  2. これに技術職の処理を追加せよ

    (A)インヘリタンスだけは使用   → 146行

    (B)インヘリタンス・オーバーローディング・ポリモフィズムを使用 → 98行


次のページへ 目次へ戻る