構造化プログラミングからオブジェクト指向へ

「構造化プログラミングまで学習した人向けに、オブジェクト指向を2人で説明し合うための学習資料」を以下のようにまとめました。

〜2人で話し合って理解を深めよう〜


■ この資料の目的

  • 構造化プログラミングまで学習した人が、オブジェクト指向(OOP)を言葉で説明することで理解を深めます。
  • 2人で役割を分担して対話することで、「自分の理解のあいまいさ」に気づけます。

■ 進め方

  1. ペアを組む
    • Aさん:説明役
    • Bさん:質問役
  2. 共通の前提を思い出す
    • 構造化プログラミングでは「データ」と「処理」が分かれていた
    • 流れを上から下に追う手続き型の考え方をしていた
  3. 説明役が「構造化とオブジェクト指向の違い」を自分の言葉で説明する
  4. 質問役は、初心者だった頃の自分になりきって質問する
  5. 最後にペアで「何が理解できて、何がまだあいまいか」を振り返る

■ 具体的な話し合いの流れ例

【ステップ1】

説明役:「構造化プログラミングは、料理のレシピの手順書みたいだったよね。

オブジェクト指向は、材料と手順をセットにして管理できる箱を作るイメージなんだ。」


【ステップ2】

質問役:「材料と手順をセットにするのは何が便利なの?」


【ステップ3】

説明役:「例えば車を作るとき、クラスという設計図を作れば、同じ設計で色やエンジンだけ違う車をたくさん作れるんだよ。

手続き型だと、同じ車を何度もゼロから作らないといけないから大変なんだ。」


【ステップ4】

質問役:「でも構造化でも関数を使って同じ処理を繰り返すことはできたよね?

クラスにする意味は何が違うの?」


【ステップ5】

説明役:「関数は処理だけだから、データ(車の色やスピード)は別で管理する必要があったでしょ?

オブジェクト指向は、データ(状態)と処理(振る舞い)を一つの箱(オブジェクト)にできるから、車ごとに管理しやすくなるんだよ。」


■ 話し合いのポイント

  • 必ず「構造化と比べて何が便利なのか」を軸にする
  • 「クラス」と「オブジェクト」と「インスタンス」の言葉の違いを整理する
  • 学習したサンプル(Carクラスなど)を具体例として出す
  • 「要するに何が分かったか」を最後に一言でまとめる

■ まとめシート(振り返り用)

項目メモ
構造化とオブジェクト指向の一番の違いは?
説明していて言葉に詰まった点は?
質問してみて理解が深まった点は?
もっと調べたいことは?

■ こんな質問もおすすめ

  • 「クラスって具体的に何の設計図?」
  • 「オブジェクトとインスタンスは何が違うの?」
  • 「構造化でも同じことはできないの?」
  • 「実際のコードで例えると?」

【おわりに】

人に説明できることは「理解できている証拠」です。

分からなかったところは必ずメモに残して、次の学習につなげましょう。


訪問数 8 回, 今日の訪問数 8回