MF 

クラス本体

クラス本体には、クラス データおよびクラス メソッドを定義するすべてのコードが含まれる。

書き方 1 の一般形式

コンパイラ指令 OOCTRL(+N) を指定した場合に使用される。

注: この構文を使用することが望ましい。


*

書き方 2 の一般形式

コンパイラ指令 OOCTRL(-N) を指定した場合に使用される。


*

すべての書き方に関する構文規則

  1. Class-Control 段落内で class-name-3 を複数回指定することはできない。
  2. class-name-3 は Class-ID 段落内で指定されているクラス名と同じであってもよい。
  3. データ部に連絡節を含めることはできない。

書き方 1 の構文規則

  1. データ部にオブジェクト記憶節を含めることはできない。
  2. データ部内で宣言されたデータ項目は、インスタンス メソッドおよびクラス メソッドから参照できる。

書き方 2 の構文規則

  1. 局所記憶節、報告所節、および画面節で宣言されたデータ項目を参照できるのは、このクラスの手続き部内の文からのみであり、いずれのメソッドからも参照できない。
  2. ファイル節または作業場所節で宣言されたデータ項目は、インスタンス メソッドとクラス メソッド、およびこのクラスの手続き部から参照できる。
  3. オブジェクト記憶節で宣言されたデータ項目は、クラス メソッドから参照できる。

すべての書き方に関する一般規則

  1. class-name-3 は、暗黙的に USAGE IS OBJECT REFERENCE と定義される。
  2. class-name-3 は、それを含む環境部の範囲内で使用できるクラスの名前である。
  3. external-name-1 は、そのクラスを含むファイルの外部名を指定する。
  4. method-1 はクラス メソッドである。
  5. オブジェクト記憶節内のデータ項目だけがサブクラスによって継承される。

書き方 1 の一般規則

  1. データ項目は実行単位の開始時に初期化され、メソッドの呼び出し間で最終使用時の状態が保たれる。

書き方 2 の一般規則

  1. クラス手続き部内の文は、実行単位内でこのクラスのいずれかのクラス メソッドまたはインスタンス メソッドが最初に実行される前に実行される。
  2. クラスの手続き部の実行が開始されると、局所記憶節内のデータ項目の内容は不定となる。この記憶域は、クラスの手続き部の実行が完了すると、直ちに割り当てが解除される。
  3. ファイル節および作業場所節で宣言されたデータ項目は、クラス メソッドとインスタンス メソッドの呼び出し間で、最終使用時の状態が保たれる。
    注: 作業場所節内のデータは、クラスまたはインスタンスの初期化データとして役に立つ。
  4. オブジェクト記憶節で宣言されたデータ項目は、クラス メソッドの呼び出し間で、最終使用時の状態が保たれる。