Midoliy |> F# - コンストラクタ
コンストラクタ
Midoliy|F#プログラミング
コンストラクタの概要
サンプルでみるコンストラクタ

コンストラクタの概要


 コンストラクタは、クラス型のインスタンスを作成するための特別なメソッドです。F#のクラスコンストラクタは他の.NET言語とは動作が多少異なります。F#のクラスのデフォルトコンストラクタ(= プライマリコンストラクタ)宣言は、クラス名の後にパラメータリストを定義し、let / let rec / do バインディングからなる処理実体を記述する形式で行われます。
 また、追加のコンストラクタを定義したい場合は、newキーワードを利用することで追加定義することができます。また、新しく追加したコンストラクタの本体では、必ずデフォルトコンストラクタを呼び出す必要があります。


サンプルでみるコンストラクタ


 以下は簡単なコンストラクタのサンプルになります。


 サンプルからわかる通り、do束縛内でローカルフィールドを利用する際は、do束縛の宣言前に利用したいローカルフィールドのlet束縛が完了していなければなりません。そのため、基本的にはdo束縛を利用する際は、let束縛の宣言が完了し終わったあとの一番最後に定義することが多いです。要らぬエラーの元にもなりますので、基本的にはlet束縛はコンストラクタ内の最初で宣言し、do束縛はコンストラクタ内の最後で宣言するものだ、と覚えておくと良いと思います。
 また、追加のコンストラクタの宣言サンプルは以下のようになっています。