Mailクラス × 配列

〜同じ種類のデータをまとめて扱う〜

ここまでで、

  • Mailは設計図
  • mail1 や mail2 は実物

という話をしました。

では、ここで考えてみましょう。


❓ メールが100通あったら?

1通、2通ならこう書けます。

Mail mail1 = new Mail();
Mail mail2 = new Mail();

でも100通あったら?

mail1, mail2, mail3, mail4…

と続けますか?

さすがに大変です。


🔹 ここで登場するのが「配列」

配列は、

同じ型のデータをまとめて管理する箱

でしたね。

Mailも「型」です。

つまり、

Mailの配列が作れる

のです。


🔹 Mailの配列を作る

Mail[] mails = new Mail[3];

これは、

  • Mail型を
  • 3個分まとめて用意する

という意味です。

ただし注意。

今の段階では、

Mailの箱(場所)を3つ作っただけ

です。

まだ中身(実物のメール)は入っていません。


🔹 1通ずつ作って入れる

mails[0] = new Mail();
mails[0].From = "yamada@example.com";
mails[0].To = "sato@example.com";
mails[0].Subject = "会議のお知らせ";
mails[0].Body = "明日の会議は10時からです。";

mails[1] = new Mail();
mails[1].From = "tanaka@example.com";
mails[1].To = "suzuki@example.com";
mails[1].Subject = "資料送付";
mails[1].Body = "資料を添付します。";

ここで初めて、

  • mails[0] に1通目
  • mails[1] に2通目

が入ります。


🔹 ループでまとめて表示できる

for (int i = 0; i < mails.Length; i++)
{
    if (mails[i] != null)
    {
        mails[i].ShowSummary();
        Console.WriteLine();
    }
}

ここが大事です。

配列を使うと、

「同じ種類のもの」を一気に処理できる

ようになります。


🧠 ここで理解してほしいこと

Mailクラスだけだと、

「1通のメールを表す」

でした。

Mail配列になると、

「たくさんのメールを管理する」

になります。

つまり、

  • クラス → 1つの設計図
  • インスタンス → 1つの実物
  • 配列 → 実物をたくさんまとめる

という関係になります。


🎯 今日の核心

クラスと配列が組み合わさると、

「現実世界の複数のもの」を

プログラムで自然に扱える

ようになります。

例えば:

  • メール一覧
  • 商品一覧
  • 生徒一覧
  • 本のリスト

全部同じ考え方です。


💡 考えてみよう

もしMailを使わず、

stringをたくさん使って

100通のメールを管理しようとしたらどうなりますか?

想像してみてください。

クラスと配列が

どれだけ強力か、分かってくるはずです。


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