DEFINE CLASS class-name
|
|||||||||||
[WITH ] ACTIVATION [POLICY ] |
EM | ||||||||||
ES | |||||||||||
IM | |||||||||||
OBJECT |
USING |
local-data-area | |||||||||
parameter-data-area | |||||||||||
data-definition | |||||||||||
LOCAL |
USING |
local-data-area | |||||||||
parameter-data-area | |||||||||||
data-definition | |||||||||||
[ID class-GUID]
|
|||||||||||
INTERFACE USING copycode |
|||||||||||
INTERFACE
|
|||||||||||
[PROPERTY ]
|
|||||||||||
[METHOD ]
|
|||||||||||
END-CLASS |
このドキュメントでは、次のトピックについて説明します。
構文図で使用されている記号については、「構文記号」を参照してください。
関連ステートメント:CREATE OBJECT | INTERFACE | METHOD | PROPERTY | SEND METHOD
関連機能グループ:「コンポーネントベースプログラミング」
DEFINE CLASS
ステートメントは、Natural クラスモジュール内からクラスを指定するために使用します。 Natural クラスモジュールは、DEFINE CLASS
ステートメントとそれに続く END
ステートメントで構成されています。
class-name |
これは、このクラスのオブジェクトを作成するためにクライアントが使用する名前です。 名前の長さは、最大 32 文字までです。 名前にはピリオドが含まれていてもかまいません。ピリオドを使用して、クラス名を次のように構成できます。
ピリオド(...)間にある各部分は、それぞれがユーザー変数の命名規則に従っている必要があります(「ユーザー定義変数の命名規則」を参照)。 異なるプログラミング言語で書かれたクライアントによってクラスを使用する予定であれば、クラス名はこれらの言語に適用する命名規則と矛盾しないように選択する必要があります。 |
|
---|---|---|
WITH ACTIVATION POLICY |
WITH ACTIVATION POLICY 節は、現在のクラスに登録されるアクティベーションポリシーを明示的に定義するために使用します。 以下のパラメータを設定できます。 |
|
EM | アクティベーションポリシー "ExternalMultiple" を設定します。 | |
ES | アクティベーションポリシー "ExternalSingle" を設定します。 | |
IM | アクティベーションポリシー "InternalMultiple" を設定します。 | |
クラスが保存(stow)および登録されるときに、 |
||
OBJECT | OBJECT 節は、オブジェクトデータを定義するために使用します。 OBJECT 節の構文は、DEFINE DATA ステートメントの LOCAL 節と同じです。 詳細については、DEFINE DATA ステートメントの LOCAL 節に関する説明を参照してください。
|
|
LOCAL |
LOCAL 節は、グローバルユニーク ID(GUID)をクラス定義に含めるためにのみ使用します。 GUID は、クラスが DCOM で登録される場合にのみ定義する必要があります。 GUID は、主にローカルデータエリア内で定義されます。 詳細については、『プログラミングガイド』の「グローバルユニーク ID - GUID」を参照してください。
|
|
ID | ID 節は、グローバルユニーク ID をクラスに割り当てるために使用します。 クラス GUID は、LOCAL 節に含まれるデータエリア内に定義される GUID の名前です。 クラス GUID は、(命名された)英数字の定数です。 クラスが DCOM で登録される場合は、GUID をクラスに割り当てる必要があります。
|
|
INTERFACE USING | INTERFACE USING 節は、INTERFACE ステートメントを含むコピーコードを組み込むために使用します。
|
|
copycode | INTERFACE USING 節で使用するコピーコードには、1 つ以上の INTERFACE ステートメントを含めることができます。
|
|
PROPERTY | PROPERTY ステートメントは、インターフェイス定義外で、実装としてオブジェクトデータ変数オペランドをプロパティに割り当てます。
|
|
METHOD | METHOD ステートメントは、インターフェイス定義外で、サブプログラムをメソッドに割り当てます。
|
|
END-CLASS | DEFINE CLASS ステートメントを終了するには、Natural 予約語 END-CLASS を使用する必要があります。
|