✏️
クラスとインスタンスを学んだらコードの見え方が変わった話
はじめに
C#の復職準備学習の一環として、クラスとインスタンスの基本についてChatGPTと学習しました。この記事では「クラスとは何か?」「どう定義・活用するのか?」を対話を通じて理解した内容と、自分で読み解いたコードの記録をまとめます。
学んだこと
クラスとは?
- クラスは「モノの設計図」のようなもの。
- データ(フィールドやプロパティ)と処理(メソッド)をひとまとめにできる。
- 実際に使うには
new
でインスタンスを作成する。
典型的なクラス定義
public class Person
{
public string Name;
public int Age;
public void Greet()
{
Console.WriteLine("Hello, my name is " + Name);
}
}
-
Person
は設計図。Name
とAge
が属性、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