オブジェクト指向を理解する
オブジェクト指向では、データと処理をオブジェクトとしてまとめ、クラス・インスタンス・カプセル化・継承・多相性などで構造化する。
この単元で学ぶこと
- クラスの意味と役割を説明できる
- インスタンスの意味と役割を説明できる
- カプセル化の意味と役割を説明できる
- クラス・インスタンス・カプセル化・継承・多相性を具体例から識別できる
本文解説
クラスは設計図、インスタンスは具体的な実体。カプセル化で内部状態を隠し、継承で共通性を利用し、多相性で同じ操作名でも型に応じた振る舞いを実現する。
クラス 属性とメソッドをまとめたオブジェクトの型・設計図。 複数インスタンスを生成できる。
インスタンス クラスから生成された具体的な実体。 各インスタンスは固有状態を持てる。
カプセル化 内部データや実装を隠し、公開操作経由で利用させる考え方。 変更影響を局所化する。
継承 既存クラスの性質を引き継いだ新しいクラスを作る仕組み。 共通性を表現し再利用する。
多相性 同じ操作呼出しでも実際の型に応じて異なる処理を行える性質。 共通インタフェースで実装差を隠せる。
型=クラス、実体=インスタンス、隠蔽=カプセル化、is-a=継承、同一操作の異なる振る舞い=多相性。
Animal型変数からDogとCatのspeak()を同じ呼出しで使い分けるのが多相性。
図解
重要ポイント
- クラス: 属性とメソッドをまとめたオブジェクトの型・設計図。
- インスタンス: クラスから生成された具体的な実体。
- カプセル化: 内部データや実装を隠し、公開操作経由で利用させる考え方。
- 継承: 既存クラスの性質を引き継いだ新しいクラスを作る仕組み。
- 継承は「含む」ではなくis-a関係、集約/合成はhas-a関係として区別する。
間違えやすい点
- クラスとインスタンスを同じものとしない。
- 継承と集約を混同しない。
- カプセル化を単なる暗号化と考えない。
用語解説
- クラス
- 属性とメソッドをまとめたオブジェクトの型・設計図。
- インスタンス
- クラスから生成された具体的な実体。
- カプセル化
- 内部データや実装を隠し、公開操作経由で利用させる考え方。
- 継承
- 既存クラスの性質を引き継いだ新しいクラスを作る仕組み。
- 多相性
- 同じ操作呼出しでも実際の型に応じて異なる処理を行える性質。
関連教材
参考資料
教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。
確認問題の出題・採点や学習履歴の保存にはログインが必要です。