Skip to the content.

DS検定トップ > 継承とは?クラス設計の基本を整理【DS検定リテラシー】

まず結論

  • 継承とは、あるクラスの性質や機能を別のクラスが引き継ぐ仕組みのこと。
  • DS検定では「ポリモーフィズム」「カプセル化」との違いを判断させる問題としてよく問われる。

直感的な説明

「親の特徴を子が受け継ぐ」と考えると分かりやすいです。

たとえば、

  • 動物クラス(Animal)
  • 犬クラス(Dog)

があるとします。

犬は「動物の一種」なので、

  • 食べる
  • 寝る

といった動物の基本的な機能をそのまま使えます。

これが 継承 です。

業務システムでも、

  • 社員クラス
  • 営業社員クラス
  • エンジニア社員クラス

のように「共通部分をまとめておく」ことで、設計を整理できます。

定義・仕組み

継承とは、

既存のクラス(親クラス・スーパークラス)の属性やメソッドを、
新しいクラス(子クラス・サブクラス)が引き継ぐ仕組み

のことです。

ポイントは次の3つです。

  1. 共通機能を再利用できる
  2. コードの重複を減らせる
  3. 「〜は〜の一種である」という関係を表現できる

DS検定では、用語の厳密な文法よりも、

  • 「何を引き継ぐ仕組みなのか」
  • 「どんな設計思想か」

を理解しているかが問われます。

どんな場面で使う?

使う場面

  • 共通の機能を持つクラスをまとめたいとき
  • 「AはBの一種」という関係が明確なとき
  • 大規模開発で設計を整理したいとき

使うと誤解しやすい場面

  • 単に似ているだけのクラスを無理に継承させる場合
  • 「コードを使い回したいだけ」で継承を使う場合

設計上、「本当に“〜の一種”と言えるか?」が判断基準です。

よくある誤解・混同

① ポリモーフィズムとの混同

DS検定では
「同じ呼び出しで異なる動作をする」
という記述が出てきます。

これは継承ではなく ポリモーフィズム です。

  • 継承 → 引き継ぐ仕組み
  • ポリモーフィズム → 同じ呼び出しで振る舞いが変わる性質

選択肢では、

「異なる型を単一のインターフェースで扱う」

と書かれていたら、継承ではなくポリモーフィズムです。

② カプセル化との混同

  • データを隠す
  • 外部から直接触れさせない

これは カプセル化 です。

継承は「隠す」概念ではありません。

③ Pythonでは継承が必須?

Pythonでは、継承しなくても
「同じメソッドを持っていれば」動作します(ダックタイピング)。

つまり、

  • ポリモーフィズムは継承がなくても成立する

ここを混同しないことが重要です。

DS検定では
「継承はポリモーフィズムの必須条件である」
という選択肢があれば 誤り と判断できます。

まとめ(試験直前用)

  • 継承=親クラスの機能を子クラスが引き継ぐ仕組み
  • 「〜は〜の一種」という関係を表す設計
  • ポリモーフィズムとは別概念
  • 「同じ呼び出しで動作が変わる」はポリモーフィズム
  • Pythonではポリモーフィズムに継承は必須ではない

対応スキル項目(AI利活用スキルシート)

  • AIの基礎理解
  • オブジェクト指向や基本的な情報システムの概念を理解している
  • ★ AIを活用したシステムの基本的な構造を理解している

🔗 関連記事


🏠 DS検定トップに戻る