フィールド

クラス、値タイプ、インターフェースは、静的フィールドやインスタンス・フィールドのセットを定義できます。

static-or-instance-field

variable-field constant-field

variable-field

type-specifier access-modifier attribute-clause

constant-field

type-specifier access-modifier attribute-clause

    01 dAmount  decimal.
    01 asNames string occurs 5.
    01 abFigures binary-long occurs any.
     
    78 Max_Students value 25.  *> デフォルトはpublic、binary-long

コアのサンプルも参照してください。このサンプルは、[スタート > すべてのプログラム > Micro Focus Enterprise Developer > Samples] の COBOL for JVM の下にあります。

INITIALIZE ONLY のキーワード

INITIALIZE ONLY 句は、静的フィールドやインスタンス・フィールドを定義し、それぞれクラス・コンストラクタまたはコンストラクタ内でのみ変更できます。次に例を示します。

    class-id a.
    01 s string static value "Shouldn't see this" initialize only.
    method-id main static.
        display s
    end method.
    method-id new static.
        set s to "Hello world"
    end method.
    end class.

INITIALIZE ONLY フィールドと定数フィールドは、次のように異なります。

INITIALIZE ONLY フィールド:
  • インスタンスレベルまたは静的になります。
  • ランタイムで評価されます。
  • 宣言内またはコンストラクタのコードで初期化できます。
定数フィールド (78 レベル):
  • 常に暗黙的に静的になります。
  • コンパイル時に評価されます。
  • 宣言でのみ初期化されます。

EVENT キーワード

EVENT キーワードは、デリゲートとして宣言される項目でのみ許可されます。

デリゲート・インスタンス ChangeEvent のキーワード EVENT は、2 つのメソッドを作成します。このメソッドの名前は、add_ および remove _ にデリゲート・インスタンス名が付加されたものです。これらのメソッドを使用して、デリゲートへの新しいメソッドのフックやその後のメソッドの削除をそれぞれ行うことができます。

例えば、次の文のキーワード EVENT では、2 つのメソッド add_ChangeEvent および remove_ChangeEvent が作成されます。

       01 ChangeEvent type ChangeDelegate event public.
       ...
       delegate-id ChangeDelegate.
       procedure division using by value x1 as binary-long.
       end delegate.

PROPERTY キーワード

PROPERTY キーワードを使用してフィールドを公開できます。構文の他の領域と同様に、AS 句を使用して、外部に周知になる場合を含むプロパティ名を指定します。

    01 public-field pic x property as "Field1". 

PROPERTY キーワードは、フィールドを取得して更新する 2 つのアクセス用メソッドを生成します。これらのメソッドの名前は、get_ および set_ にフィールド名が付加されたもので、一般的に取得メソッドや設定メソッドと呼ばれています。プロパティをサポートするフレームワーク内の言語はこれらのメソッドを非表示にして、これらのメンバ・フィールドを直接取得および設定できるように表示されます。実際に、コンパイラは、プロパティ名を関連する get_ または set_ ルーチンに置き換えます。

プロパティのサンプルも参照してください。このサンプルは、[スタート > すべてのプログラム > Micro Focus Enterprise Developer > Samples] の COBOL for JVM の下にあります。