C# クラスのサンプル

C#のクラスのサンプルです。

目次

クラスからオブジェクト(インスタンス)を生成するイメージ

クラスからオブジェクト(インスタンス)を生成するイメージです。
例えると、クラスは型枠でオブジェクトは実体です。
new演算子を使用してオブジェクト(インスタンス)を生成します。インスタンス化といいます。
以下は、MicrosoftのC#のクラスとオブジェクトのリンクです。
https://docs.microsoft.com/ja-jp/dotnet/csharp/tour-of-csharp/classes-and-objects

 

クラスのサンプル

3-13行目は、Colorというクラスを定義しています。
15-27行目は、そのクラスを利用する箇所です。

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); // 色は赤です
    }
}

6行目は、クラスの内部で宣言されている変数です。フィールドまたはメンバー変数といいます。
privateのためクラスの外部からアクセスすることができません。(非公開の設定)

9-12行目は、メソッドです。publicのためクラスの外部からアクセスすることができます。
6行目の変数や9行目のメソッドのことをクラスのメンバーといいます。
9行目のString name1は、引数です。メソッドに値を渡します。
11行目のreturnは、メソッドの値を返します。返される値を返り値または戻り値と呼びます。
9行目のstring print1のstringは、string型の値を返すという意味です。

20行目は、newキーワードでクラスのインスタンスを作成しています。
クラスのインスタンスを作成するとそのインスタンスへの参照を返します。Class1型のc1という変数にインスタンスへの参照を代入しています。

23行目は、インスタンスのメソッドを実行して、string型の文字列を受け取ります。
右辺は、変数.メソッドの形でドット演算子を使用します。

 

名前付き引数

C#4.0から引数に名前をつけれるようになりました。引数を順番に関係なく記述できます。
名前付きパラメーターとも呼ばれます。

9行目は、メソッドの引数として2つあります。
23,26行目が名前付きパラメーターです。引数の順番が変わっていますが同じ結果になります。

using System;
// クラス
class Class1
{
    // フィールド
    private string name;

    // メソッド
    public string print1(string name1,int num1)
    {
        return "色は" + name1 + "。数は" + num1 + "。";
    }
}

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

        // メソッドを実行
        string message1 = c1.print1(name1:"赤",num1:3);
        Console.WriteLine(message1); // 色は赤。数は3。

        string message2 = c1.print1(num1: 3, name1: "赤");
        Console.WriteLine(message2); // 色は赤。数は3。
    }
}

 

省略可能な引数

C#4.0から呼び出す側の引数を省略してデフォルト値をセットできるようになりました。

9行目の2つ目の引数は「int num1 = 3」となっています。呼び出す側の引数が一つの場合、2つ目の引数の値はこの3になります。デフォルト値を意味します。
23行目は、引数がひとつです。2つ目の引数の値はデフォルト値の3がセットされます。
26行目は、2つ目の引数に5をセットしています。この場合、セットした値の5が優先されます。

using System;
// クラス
class Class1
{
    // フィールド
    private string name;

    // メソッド
    public string print1(string name1,int num1 = 3)
    {
        return "色は" + name1 + "。数は" + num1 + "。";
    }
}

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

        // メソッドを実行
        string message1 = c1.print1("赤");
        Console.WriteLine(message1); // 色は赤。数は3。

        string message2 = c1.print1("赤",5);
        Console.WriteLine(message2); // 色は赤。数は5。
    }
}

以下は、MicrosoftのC#の名前付き引数と省略可能な引数 (C# プログラミング ガイド)のリンクです。
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/named-and-optional-arguments

関連の記事

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



△上に戻る