Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

ClassType (クラス・キーワード)

このクラスのタイプ (または、振る舞い) を指定します。

使用法

クラスのタイプを指定するには (必要な場合)、以下の構文を使用します。

Class MyApp.MyClass [ ClassType = classtype ]  
{ //class members }

classtype は以下のいずれかになります。

  • datatype — このクラスはデータ型クラスであり、リテラル値を表すために使用されます。

  • dynamic — このクラスは、%DynamicAbstractObjectOpens in a new tab%DynamicArrayOpens in a new tab%DynamicObjectOpens in a new tab などのダイナミック・クラスです。

  • index — このクラスは、インデックス・インタフェースを定義する特殊クラスである、インデックス・クラスです。詳細は、クラス・リファレンスの "%Library.FunctionalIndexOpens in a new tab" を参照してください。

  • persistent — このクラスは、データをデータベースに保存することを表します。

  • serial — このクラスは、データが他の永続オブジェクトに (シリアル化された状態で) 保存されることを表します。

  • stream — このクラスは、ストリーミング・データを表します。

  • view — このクラスは、SQL ビューを定義するために使用されます ("ViewQuery" キーワードを参照してください)。

  • 空の文字列は、このクラスが特定のタイプを持たないことを表します。Abstract クラスは、一般にはクラス・タイプを指定しません。

このキーワードを指定しない場合、クラス・タイプは、プライマリ・スーパークラスがあればそれから継承されます。

ClassType は、%RegisteredObjectOpens in a new tab%SerialObjectOpens in a new tab%PersistentOpens in a new tab%DynamicAbstractObjectOpens in a new tab などのシステム・クラス、およびデータ型クラスに指定されるので、それらのクラスをサブクラス化する場合には、一般にこのキーワードを指定する必要はありません。

詳細

このキーワードは、このクラスの用途を指定します。クラス・コンパイラは、ClassType キーワードを使用してクラスをコンパイルする方法を決定します。例えば、ClassType が persistent の場合、クラス・コンパイラは、ストレージ・コンパイラを実行してクラスの永続コードを生成します。明示的に定義されていない限り、ClassType の値は既定値であるか、プライマリ・スーパークラスから継承されます。

永続クラスの場合は、明示的な ClassType 文が必要なのは、標準の永続性動作がオーバーライドされるときのみです。クラス定義にこのような文が含まれている場合、その理由は、開発者によってその文が指定されたか、そのクラスが生成されたコードが旧バージョンの InterSystems IRIS を使用して開発されたかのどちらかです。

サブクラスへの影響

このキーワードは、プライマリ・スーパークラスから継承されます。サブクラスは、キーワードの値をオーバーライドできます。

既定値

このキーワードを省略した場合、クラス・タイプは、プライマリ・スーパークラスがあればそれから継承されます。

Note:

シャード・クラスのクラスタイプは、persistent 以外の値を取ることはできません。

関連項目

FeedbackOpens in a new tab