![]() |
![]() |
|
class-id Things. 01 _size binary-long private. 01 ReadOnly binary-long property with no set value 3. 01 ReadWrite binary-long property. property-id Size binary-long. *> Use property-value inside properties to *> pass the value in or out getter. set property-value to _size setter. if property-value < 0 set _size to 0 else set _size to property-value end-if end property. method-id main static. declare foo = new Things() add 1 to foo::Size display foo::Size display foo::ReadOnly set foo::ReadWrite to 22 end method. 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 .NET . に用意されています。
PROPERTY-ID で指定されたプロパティには、GETTER キーワードと SETTER キーワードをそれぞれ使用して、取得アクセス機構と設定アクセス機構のいずれか (あるいは両方) を含める必要があります。コンパイラは、get_ メソッドと set_ メソッドを適宜生成します。
COBOL プログラム内でフィールドをプロパティとして公開するには、次の 2 つの方法があります。
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.