![]() |
![]() |
|
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.
プロパティのサンプルも参照してください。このサンプルは、[スタート > すべてのプログラム > Micro Focus Enterprise Developer > Samples > Visual COBOL Samples]、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.