Sub New (LotusScript 言語)

New サブルーチンが定義されているクラスのオブジェクトを作成するときに実行される、ユーザー定義のサブルーチンです。

構文

Sub New [ ( [ argList ] ) ] [ , baseClass ( [ baseArgList ] ) ]

[ statements ]

End Sub

要素

argList

オプション。New サブルーチンのパラメータ宣言をカッコで囲み、カンマで区切ったリストです。パラメータ宣言には次の構文を使用します。

[ ByVal ] paramName [ ( ) | List ] [ As dataType ]

ByVal は、paramName が値渡しされることを意味します。paramName に代入された値は、元の値への参照ではなく、サブルーチンの呼び出しで指定される値のコピーです。

paramName() は配列変数です。ListparamName をリスト変数として識別します。それ以外の場合、paramName には LotusScript® でサポートされるその他すべての型の変数を指定できます。

As dataType は変数のデータ型を指定します。この節を省略し、データ型の接尾辞を使用して、変数をスカラーデータ型の 1 つとして宣言できます。この節を省略し、paramName の末尾にデータ型の接尾辞を付けなければ (同時に、既存の Deftype ステートメントで処理されなければ)、データ型は Variant 型となります。

派生クラスの New サブルーチンに引数がなく、ベースクラスの New サブルーチンにも引数がなければ、(argList) と baseClass (baseArgList) を省略します。

baseClass ( [ baseArgList ] )

オプション。baseClass は派生クラスの派生元となったクラスの名前です。この名前は、派生クラスの Class ステートメントの baseClass 名と同じでなければなりません。

baseArgList は、ベースクラスのサブルーチン New の引数をカンマで区切ったリストです。これらはパラメータ宣言ではなく実際の引数なので注意してください。この構文では、派生クラスの New サブルーチンを呼び出して、ベースクラスの New サブルーチンの呼び出しに実際の引数を渡せるようにします。

New サブルーチンにこの構文を使用するのは、次の条件がすべて満たされる場合に限られます。

定義するクラスが派生クラスのときは、その New サブルーチンを呼び出すたびに、ベースクラスの New サブルーチンが呼び出されます。ベースクラス自体が別のベースクラスの派生クラスであれば、さらに別の呼び出しが生成されていきます。

使用法

ユーザー定義クラスの定義には、New という名前のコンストラクタサブルーチンの定義を含めることができます。この定義があると、そのクラスからオブジェクトが作成されるたびに、このサブルーチンが呼び出されます。その場合、オブジェクトが作成された直後に呼び出されます。