はじめに
今回はC#でコンストラクタの継承を行う方法のご紹介です!
コンストラクタの継承
コンストラクタの継承を行うには、
継承先のコンストラクタの後ろにbase()付けます。
例えばSuperClassを継承したSubClassの場合は以下の通り、
public class SuperClass{ public SuperClass(){} } public class SubClass : SuperClass{ public SubClass() : base(){} }
なお、普通のメソッドの継承とは違い、base.SuperClass()のように記述せずとも、
継承元のコンストラクタが自動で実行されるため注意が必要です。
また、引数がある場合は以下の通り、baseの中に値だけを渡します。
public SuperClass(int num, string text){} public SubClass(int num, string text) : base(num, text){}
もちろん、継承元と継承先で引数が異なっても大丈夫です。
//継承先に引数がないパターン public SuperClass(int num, string text){} public SubClass() : base(5, "text"){}
//継承先の引数が多いパターン public SuperClass(int num, string text){} public SubClass(int num, string text, bool flag) : base(num, text){}