オブジェクト指向を理解する

オブジェクト指向では、データと処理をオブジェクトとしてまとめ、クラス・インスタンス・カプセル化・継承・多相性などで構造化する。

この単元で学ぶこと

  • クラスの意味と役割を説明できる
  • インスタンスの意味と役割を説明できる
  • カプセル化の意味と役割を説明できる
  • クラス・インスタンス・カプセル化・継承・多相性を具体例から識別できる

本文解説

クラスは設計図、インスタンスは具体的な実体。カプセル化で内部状態を隠し、継承で共通性を利用し、多相性で同じ操作名でも型に応じた振る舞いを実現する。

クラス 属性とメソッドをまとめたオブジェクトの型・設計図。 複数インスタンスを生成できる。

インスタンス クラスから生成された具体的な実体。 各インスタンスは固有状態を持てる。

カプセル化 内部データや実装を隠し、公開操作経由で利用させる考え方。 変更影響を局所化する。

継承 既存クラスの性質を引き継いだ新しいクラスを作る仕組み。 共通性を表現し再利用する。

多相性 同じ操作呼出しでも実際の型に応じて異なる処理を行える性質。 共通インタフェースで実装差を隠せる。

型=クラス、実体=インスタンス、隠蔽=カプセル化、is-a=継承、同一操作の異なる振る舞い=多相性。

Animal型変数からDogとCatのspeak()を同じ呼出しで使い分けるのが多相性。

図解

オブジェクト指向の基本関係
クラス→インスタンス、内部隠蔽、継承、多相性を関係図で整理する。

重要ポイント

  • クラス: 属性とメソッドをまとめたオブジェクトの型・設計図。
  • インスタンス: クラスから生成された具体的な実体。
  • カプセル化: 内部データや実装を隠し、公開操作経由で利用させる考え方。
  • 継承: 既存クラスの性質を引き継いだ新しいクラスを作る仕組み。
  • 継承は「含む」ではなくis-a関係、集約/合成はhas-a関係として区別する。

間違えやすい点

  • クラスとインスタンスを同じものとしない。
  • 継承と集約を混同しない。
  • カプセル化を単なる暗号化と考えない。

用語解説

クラス
属性とメソッドをまとめたオブジェクトの型・設計図。
インスタンス
クラスから生成された具体的な実体。
カプセル化
内部データや実装を隠し、公開操作経由で利用させる考え方。
継承
既存クラスの性質を引き継いだ新しいクラスを作る仕組み。
多相性
同じ操作呼出しでも実際の型に応じて異なる処理を行える性質。

関連教材

参考資料

教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。

確認問題の出題・採点や学習履歴の保存にはログインが必要です。