✏️

クラスとインスタンスを学んだらコードの見え方が変わった話

に公開

はじめに

C#の復職準備学習の一環として、クラスとインスタンスの基本についてChatGPTと学習しました。この記事では「クラスとは何か?」「どう定義・活用するのか?」を対話を通じて理解した内容と、自分で読み解いたコードの記録をまとめます。

学んだこと

クラスとは?

  • クラスは「モノの設計図」のようなもの。
  • データ(フィールドやプロパティ)と処理(メソッド)をひとまとめにできる。
  • 実際に使うには new でインスタンスを作成する。

典型的なクラス定義

public class Person
{
    public string Name;
    public int Age;

    public void Greet()
    {
        Console.WriteLine("Hello, my name is " + Name);
    }
}
  • Person は設計図。NameAge が属性、Greet() がふるまい。

インスタンス化と呼び出し

Person p = new Person();
p.Name = "太郎";
p.Age = 28;
p.Greet();  // 出力:Hello, my name is 太郎

クラス読解問題:Rectangleクラス

public class Rectangle
{
    public double Width;
    public double Height;

    public double GetArea()
    {
        return Width * Height;
    }

    public bool IsSquare()
    {
        return Width == Height;
    }
}

以下のコードで、正方形の面積を計算:

Rectangle r = new Rectangle();
r.Width = 4;
r.Height = 4;
double area = r.GetArea();
Console.WriteLine(area);  // 出力:16

気づきと振り返り

  • 「設計図(クラス)」と「実体(インスタンス)」の関係が腑に落ちた
  • new を使うことで、設計図から何個でもモノが作れる感覚がつかめた
  • Console.WriteLine で結果を出すときも、インスタンスの値を使って出力できるのが実感できた

おわりに

クラスの読解とインスタンスの操作ができるようになったことで、復職後のコード理解や簡単なテスト実装にも自信がつきました。次は「簡単なクラス設計とZennにまとめる」フェーズに進みます。

Discussion