コンストラクタについて
クラスを生成する際に行われる処理。
初期化などに使用。
プログラム例
以下はプログラムの例とその実行結果である。
ソースコード
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(); } }
実行結果
名前:ケニー 専攻:経済学