Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

ClassType

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

使用法

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

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

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

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

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

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

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

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

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

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

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

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

詳細

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

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

サブクラスへの影響

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

既定値

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

関連項目

FeedbackOpens in a new tab