匿名インスタンスの作成

通常の C++ プログラムのように、C++ の new 演算子を使用して匿名インスタンスを作ることができます。IBM® Rational® Rhapsody® は、システム内のすべてのクラスに対してデフォルトのコンストラクター (ctor) を生成します。ブラウザーを使用して、さらにコンストラクターを追加することができます。

このタスクについて

例えば、デフォルトのコンストラクターを使用してクラス A のインスタンスを作成するには、次のコードを入力します。

   A *a = new A();

リアクティブおよびコンポジット・クラスでは、デフォルトのコンストラクターは、デフォルトでシステムのメイン・スレッドに設定されているスレッド・パラメーターを使用します。インスタンスをシステムのメイン・スレッドではなく特定のスレッドと関連付けるには、このパラメーターを明示的にコンストラクターに渡す必要があります。

以下の例は、クラス A のインスタンスを作り、それをスレッド T に割り当てます。

   A *a = new A(T);

インスタンスを作成した後で、その関係ミューテーターを呼び出してそのピアに接続することもできます (関係の使用を参照)。クラスがリアクティブである場合は、おそらく次に startBehavior() メソッドを呼び出します。

コンポジット・インスタンスは、新規コンポーネントを作成するための専用操作を提供することで、コンポーネントの作成を管理します。各コンポーネントに対して、型 Philosopher の操作 phil があります。新規 phil 操作は、インスタンスを作成して、それをコンポーネント関係に追加し、スレッドを新しいコンポーネントに渡します。

以下のコードは、コンポジット sys がコンポーネント phil を作成する仕組みを示します。

Philosopher *pPhil = sys->newPhil();

インスタンスを作成した後で、その関係ミューテーターを呼び出してそのピアに接続することもできます。クラスがリアクティブである場合は、おそらく次に startBehavior() メソッドを呼び出します。


フィードバック