C# クラスとコンストラクタのサンプル

C#のクラスとコンストラクタのサンプルです。

目次

クラスのサンプル

クラスのサンプルです。

 3-13行目は、クラスを定義している箇所です。
6行目は、クラスの内部で宣言されている変数です。フィールドまたはメンバー変数といいます。
privateのためクラスの外部からアクセスすることができません。(非公開の設定)
9-12行目は、メソッドです。publicのためクラスの外部からアクセスすることができます。
6行目の変数や9行目のメソッドのことをクラスのメンバーといいます。
20行目は、newキーワードでクラスのインスタンスを作成しています。
クラスのインスタンスを作成するとそのインスタンスへの参照を返します。Class1型のc1という変数にインスタンスへの参照を代入しています。
23行目は、インスタンスのメソッドを実行して、string型の文字列を受け取ります。
変数.メソッドの形です。
using System;
// クラス
class Class1
{
    // フィールド
    private string name;

    // メソッド
    public string print1(string name1)
    {
        return "色は" + name1 + "です";
    }
}

class Test1
{
    static void Main()
    {
        // インスタンスを生成
        Class1 c1 = new Class1();

        // メソッドを実行
        string message1 = c1.print1("赤");

        Console.WriteLine(message1); // 色は赤です
    }
}

コンストラクタのサンプル

クラスのコンストラクタのサンプルです。
コンストラクタは、クラスのインスタンスを初期化する時に使用します。

7,12,17行目はコンストラクタです。コンストラクタ名は、クラス名と同じ名前になります。
32行目でインスタンスを生成した時は、7行目のコンストラクタが呼ばれます。
35行目でインスタンスを生成した時は、12行目のコンストラクタが呼ばれます。
38行目でインスタンスを生成した時は、17行目のコンストラクタが呼ばれます。
クラスを生成する時の引数の数や型によってそれに対応するコンストラクタ(7,12,17行目)が呼ばれます。
同じメソッド名で引数の数や型が異なっていることをオーバーロードといいます。

using System;

class Class1
{ 
    private string name;

    public Class1()
    {
        this.name = "赤";
    }

    public Class1(string name1)
    {
        this.name = name1;
    }

    public Class1(int num)
    {
        this.name = num.ToString();
    }

    public string print1()
    {
        return name;
    }
}

class Test1
{
    static void Main()
    {
        Class1 c1 = new Class1();
        Console.WriteLine(c1.print1()); // 赤

        Class1 c2 = new Class1("青");
        Console.WriteLine(c2.print1()); // 青

        Class1 c3 = new Class1(100);
        Console.WriteLine(c3.print1()); // 100
    }
}

以下は、MicrosoftのC#のクラスとオブジェクトのリンクです。
https://docs.microsoft.com/ja-jp/dotnet/csharp/tour-of-csharp/classes-and-objects

関連の記事

C# if文のサンプル
C# switch文のサンプル
C# while文とdo while文のサンプル
C# for文とbreakとcontinueのサンプル

 はまったらエンジニア特化型Q&Aサイト
【teratail(テラテイル)】で質問しましょう!


△上に戻る