C# は「オブジェクト指向(object-oriented)」の言語です。
オブジェクト指向では、現実のものや概念を「クラス(class)」として表現し、その型に基づいて「オブジェクト(object)」を作成します。
クラスは「データ(フィールドやプロパティ)」と「処理(メソッド)」をひとまとめにした設計図のようなものです。
まずは簡単なクラスの定義と使用例を見てみましょう。
using System;
class Person
{
public string Name;
public void SayHello()
{
Console.WriteLine($"こんにちは、{Name}です。");
}
}
class Program
{
static void Main()
{
Person p = new Person();
p.Name = "太郎";
p.SayHello();
}
}
この例では、Person
クラスに Name
というフィールドと、SayHello
というメソッドを定義しています。
Main
メソッドの中で Person
型のオブジェクト p
を作成し、フィールドに値を代入してからメソッドを呼び出しています。
フィールドに直接アクセスさせず、代わりに プロパティ(property) を使うことで、安全にデータを扱うことができます。
using System;
class Person
{
public string Name { get; set; }
public void SayHello()
{
Console.WriteLine($"こんにちは、{Name}です。");
}
}
class Program
{
static void Main()
{
Person p = new Person();
p.Name = "花子";
p.SayHello();
}
}
このようにプロパティを使うことで、必要に応じて「読み取り専用」や「書き込み時のチェック」なども実現できます。
次章では、クラスをさらに発展させて、「コンストラクター」や「アクセス修飾子」などを学びます。