C#のコンストラクタの特性
C# のコンストラクタは、他の言語のコンストラクタと同様に、オブジェクトの作成時にオブジェクトのメンバ変数と状態を初期化するために使用されます。C#コンストラクタの特徴を以下に示します。
- コンストラクタの名前はクラス名と同じで、戻り値の型はありません。
- オブジェクトを生成すると自動的に呼び出されオブジェクトのメンバー変数や状態を初期化するコンストラクタ
- コンストラクタは複数のオーバーロード形式を持ことができ、引数の違いにより異なるコンストラクタを識別できます。
- コンストラクタは継承可能であり、子クラスは親クラスのコンストラクタを呼び出して親クラスのメンバ変数を初期化できます。
- 明示的なコンストラクタの定義がなければ、コンパイラは引数なしのコンストラクタをデフォルトで生成します。
- 明示的にコンストラクタが定義されている場合は、明示的に親クラスのコンストラクタを呼び出す必要があります。 そうでなければエラーになります。
- コンストラクタはオーバーライド可能で、サブクラスは親クラスのコンストラクタの実装をオーバーライドできます。
- コンストラクタは、重複して呼び出すことができます。あるコンストラクタが別のコンストラクタを呼び出して、コードの重複を避けることができます。
- コンストラクタは public、private などの修飾子を使ってアクセス範囲を制限できます。
- コンストラクタでは例外をスローできます。コンストラクタの実行中にエラーや不正な状態が発生した場合は、例外をスローして処理します。