【Aモデル録 フェーズ1 C#基礎】
まずは、理由から。
そして、これから先の、講義の基盤となる重要なことを共有します。
この回は、
👉 世界観の切り替え回です。
「どこで作るの?」
「なんでMainじゃないの?」
「急に外に出た?」
という意識レベルを、一段上げる必要があります。
これまでの学習は、ずっとこうでした。
すべて Main の中
書いたら、その場で動く
変数もメソッドも、全部「玄関先」
これは間違いでも、手抜きでもありません。
👉 「基礎を理解するために、あえて視界をを狭くしたもの」 でした。
急に大きな世界を見せられても、どうしたらいいか、わからない。
それを回避したのが、これまでの学習方法です。
この状態を続けると、どうなるか。
Mainが肥大化する
何がどこで起きているか分からなくなる
「整理する力」が身につかない
つまり、
👉 現実のプログラムと、思考モデルがズレ始める
だから、ここで切り替えます。
👉 ここから先、プログラムは「Mainの中で全部やる世界」を卒業します。
会社はある(class Program)
でも実態は
👉 社長(Main)が一人で全部やっている状態
社長(Main)
├ 売上を管理
├ 計算もする
├ 表示もする
└ 受付もやる
学習初歩としては、これが最も分かりやすい。
これからは、一貫して「会社イメージ」 で進みます。
と、これだけ大々的に宣言してますが、早々と次第に薄れていきます(笑)
しばらくおつきあいください。
会社(プログラム)
├ 製造部(class)
│ ├ データ(フィールド)
│ └ 仕事(メソッド)
│
├ 管理部(class)
│ ├ データ
│ └ 仕事
│
└ 社長室(Main)
└ 指示を出す
Mainはもう、
👉 「会社を動かす指示を出す場所」
になります。
プログラムは、何かを「作る」ことと、「作ったものを管理する」ことが、主な作業。
と、イメージしやすいように、解説に使っていきます。
クラス
👉 部署・役割の定義
インスタンス
👉 実際に働く部署
フィールド
👉 部署が持っている情報
コンストラクタ
👉 部署の立ち上げ手順
参照
👉 同じ部署を指しているかどうか
そして、
👉 Mainの仕事は「指令する・呼ぶ・つなぐ」
C#は、オブジェクト指向という考え方です。
「Mainの中で全部書かない」理由も、
「アクセス修飾子を分ける」理由も、
ぜんぶこの思想に基づいています。
“秘書が整えた舞台で、社長が堂々と指揮をとる。”
| 役職 | C#での対応 | 説明 |
|---|---|---|
| 社長(Main) | Main()メソッド |
実際に会社(プログラム)を動かす「現場の最高責任者」。 会社を動かす「司令塔」。 |
| 秘書 兼 会社デザイナー | プログラマー自身 | 会社のすべてを把握。 必要な人材・資料・指示のすべてを「準備・構成・管理」する。 「会社」をデザインし、実際にプログラムコードを書く人。 |
| 各部署・社員・製造設備 | class と その中の メソッド・プロパティ |
社長の命令を受けて働く、具体的な仕事の担当者や設備。 |
| 資料やリスト | 変数・フィールド・プロパティ ・コレクション |
社内で使うデータ。秘書が整えて社内に渡す。 |
C#では「List」など、便利な部品を使うとき、
「その部品をどこの会社から仕入れるか」を、指定する必要があります。
クラスごとに仕事を分類し、その中に メソッド や プロパティ などを配置します。
メソッドは、仕事の担当者や製造する機械など、実務マニュアルを持った実行役。
Main()の中身は社長命令
Main()は社長なので
「それより上部に報告することがない」という意味で、「戻り値がない」ということを明示
= 必ず「static」で 「void」
先ほどの表でも説明していますが、
プログラマーは、会社(プログラム)のすべてを把握して、実行可能なコードを作り上げます。
あなたは、これから
「秘書」兼「会社デザイナー」
なっていきます。
ここまでの学習で、すでに多用していますが、
この講座の解説では、理解を深めるため
を用いています。
この2つをワンセットで、「解釈語Aモデル」と呼んでいます。
可能な限り、専門用語や既存の比喩に頼らず、
私たちの生活に親しみのある、身近な言葉を使って、
少しでも理解を深めていけたら。
そんなhyveの願望と、AI先生の熱い想いから生まれ、構成された表現法です。
この時点で分かっていればOKなのは、これだけ。
「今までMainで全部やってたのは、練習用だった」
「これからは、会社(クラス)を作って、Mainが指示する」
理解はまだ浅くていい。
でも、プログラミングの概念は、ここが本当の出発点です。