パハットノート

主にUnity(C#)を中心としたプログラムの備忘録

C# コンストラクタの使い方




コンストラクタについて

クラスを生成する際に行われる処理。
初期化などに使用。


基本

「Human」というクラスが存在し、これにコンストラクタを追加する場合には、

public Human(引数)
{
   //処理
}

というようにすればよい。



プログラム例

以下はプログラムの例とその実行結果である。


ソースコード

using System;

public class Human
{
    string _name;
    public Human(string _name)
    {
        this._name = _name;
    }

    public void Introduction()
    {
        Console.WriteLine("名前:" + _name);
    }
}

public class Sample
{
    public static void Main()
    {
        Human human = new Human("ボブ");
        human.Introduction();
    }
}



実行結果

名前:ボブ



継承

先ほどの「Human」クラスを継承した「Student」クラスを作成した場合、そのクラスにおけるコンストラクタは次のように記述できる。
(「virtual」や「override」が分からない場合は、C# abstractとvirtualの使い分け - ミドリ黄のプログラミングメモノート参照)


ソースコード

using System;

public class Human
{
    protected string _name;

    public Human(string _name)
    {
        this._name = _name;
    }

    public virtual void Introduction()
    {
        Console.WriteLine("名前:" + _name);
    }
}

public class Student : Human
{
    string major;
    public Student(string _name, string major) : base(_name)
    {
        this.major = major;
    }
    public override void Introduction()
    {
        base.Introduction();
        Console.WriteLine("専攻:" + major);
    }
}

public class Sample
{
    public static void Main()
    {
        Student student = new Student("ケニー", "経済学");
        student.Introduction();
    }
}


実行結果

名前:ケニー
専攻:経済学