プロパティ

プロパティは、タイプが関連付けられているメンバーです。プロパティはフィールドと似ていますが、値の読み取りと書き込みの手段を提供するアクセス機構があります。

property-specification

property-header procedure-division-header access-modifier statement-block access-modifier statement-block

property-header

type-specifier access-modifier attribute-clause

class-id MyClass.
working-storage section.
01 volume binary-long private.
property-id Volume binary-long.   
  getter.
    set property-value to volume
  setter.
    if property-value < 0
      set volume to 0
    else
      set volume to property-value
    end-if
end property.
end class.
property-id PropertyReadOnly string.
  getter.
    set property-value to field-5     
end property.

プロパティのサンプルも参照してください。このサンプルは、 Start > All Programs > Micro Focus Visual COBOL > Samples , under COBOL for JVM (Windows) or $COBDIR/demo (UNIX). に用意されています。

その他の情報

PROPERTY-ID で指定されたプロパティには、GETTER キーワードと SETTER キーワードをそれぞれ使用して、取得アクセス機構と設定アクセス機構のいずれか (あるいは両方) を含める必要があります。コンパイラは、get_ メソッドと set_ メソッドを適宜生成します。

COBOL プログラム内でフィールドをプロパティとして公開するには、次の 2 つの方法があります。

  • プログラム内のデータ宣言でキーワード PROPERTY を指定する方法が最も簡単です。これにより、データ項目の値を取得および設定する 2 つのアクセス用メソッドが自動的にセットアップされます。PROPERTY キーワードの後に続けるオプションの指定があります。これらの指定を使用して、取得アクセス機構または設定アクセス機構のいずれかを抑制できます。AS 句を使用して、外部名を変更することもできます。
  • また、プロパティにアクセスすると必ず実行されるように、PROPERTY-ID と GETTER または SETTER を指定する方法もあります。このメカニズムは、PROPERTY キーワードよりも少し複雑ですが、プロパティにアクセスすると実行される文を完全に制御できます。詳細については、以下を参照してください。 PROPERTY キーワード

FOR 句

FOR 句は明示的なインターフェイスの実装として使用します。これは、包含クラスが 2 つの異なるインターフェイスを実装しており、これら 2 つのインターフェイスに同じ名前と型を持つ PROPERTY-ID がある場合に特に役立ちます。この場合、FOR 句を使用すると、2 つの異なるインターフェイス用に PROPERTY-ID の 2 つの異なる実装を提供できます。

property-id PropertyReadOnly string FOR MyInterface1.
  getter.
    set property-value to field-1     
end property.
property-id PropertyReadOnly string FOR MyInterface2.
  getter.
    set property-value to field-2     
end property.