7.1.5. Shared-Initialize

UP


7.1.5. Shared-Initialize

ジェネリック関数shared-initializeは、 インスタンスの作成時、インスタンスの再初期化時、 クラス再定義によるインスタンス更新時、違うクラスへのインスタンス更新時において、 インスタンスのスロット値を、初期化引数か :initformフォームによって設定する際に使用されます。 method-combinationはstandardが使用されます。 引数は次のような順番で受け取ります。 初期化されるインスタンス、インスタンスのアクセス可能なスロット名の集合、 そして任意の長さの初期化引数です。 最初2つよりあとの引数は、初期化引数リストの形にしなければなりません。

shared-initializeの2番目の引数は、下記のどちらかに従います。

システムが提供しているshared-initializeのメソッドでは、 第一引数の特定パラメーターがstandard-objectクラスのものが存在します。 このメソッドは共有か局所かに関わらず、各スロットに対して次の振る舞いを行います。

ジェネリック関数shared-initializeは、 システムが提供するメソッドreinitialize-instance, update-instance-for-different-class, update-instance-for-redefined-class, そしてinitialize-instanceによって呼び出されます。 このようにメソッドは これらすべてのコンテキスト上で実行できるようなアクションを指定するように、 shared-initializeを記述することができます。


TOP, Github