クラス本体には、クラス データおよびクラス メソッドを定義するすべてのコードが含まれる。
書き方 1 の一般形式
コンパイラ指令 OOCTRL(+N) を指定した場合に使用される。

書き方 2 の一般形式
コンパイラ指令 OOCTRL(-N) を指定した場合に使用される。
すべての書き方に関する構文規則
- Class-Control 段落内で class-name-3 を複数回指定することはできない。
- class-name-3 は Class-ID 段落内で指定されているクラス名と同じであってもよい。
- データ部に連絡節を含めることはできない。
書き方 1 の構文規則
- データ部にオブジェクト記憶節を含めることはできない。
- データ部内で宣言されたデータ項目は、インスタンス メソッドおよびクラス メソッドから参照できる。
書き方 2 の構文規則
- 局所記憶節、報告所節、および画面節で宣言されたデータ項目を参照できるのは、このクラスの手続き部内の文からのみであり、いずれのメソッドからも参照できない。
- ファイル節または作業場所節で宣言されたデータ項目は、インスタンス メソッドとクラス メソッド、およびこのクラスの手続き部から参照できる。
- オブジェクト記憶節で宣言されたデータ項目は、クラス メソッドから参照できる。
すべての書き方に関する一般規則
- class-name-3 は、暗黙的に USAGE IS OBJECT REFERENCE と定義される。
- class-name-3 は、それを含む環境部の範囲内で使用できるクラスの名前である。
- external-name-1 は、そのクラスを含むファイルの外部名を指定する。
- method-1 はクラス メソッドである。
- オブジェクト記憶節内のデータ項目だけがサブクラスによって継承される。
書き方 1 の一般規則
- データ項目は実行単位の開始時に初期化され、メソッドの呼び出し間で最終使用時の状態が保たれる。
書き方 2 の一般規則
- クラス手続き部内の文は、実行単位内でこのクラスのいずれかのクラス メソッドまたはインスタンス メソッドが最初に実行される前に実行される。
- クラスの手続き部の実行が開始されると、局所記憶節内のデータ項目の内容は不定となる。この記憶域は、クラスの手続き部の実行が完了すると、直ちに割り当てが解除される。
- ファイル節および作業場所節で宣言されたデータ項目は、クラス メソッドとインスタンス メソッドの呼び出し間で、最終使用時の状態が保たれる。
注: 作業場所節内のデータは、クラスまたはインスタンスの初期化データとして役に立つ。
- オブジェクト記憶節で宣言されたデータ項目は、クラス メソッドの呼び出し間で、最終使用時の状態が保たれる。