インターフェイス

インターフェイスは、実装なしで名前およびシグネチャを指定するインスタンス メソッドのリストです。

interface-specification

interface-header constraints-paragraph interface-member

interface-header

access-modifier type-specifier attribute-clause generic-using-phrase

interface-member

method-specification property-specification indexer-specification

*> Interface definition
interface-id IClock
01 Hour      binary-long property with no set.
01 Minute    binary-long property with no set.

method-id Reset.
end method.

end interface.

*> Extending an interface
interface-id IAlarmClock implements type IClock.
01 AlarmHour   binary-long property.
01 AlarmMinute binary-long property.

method-id Snooze (#time as binary-long).
end method.

end interface.

*> Interface implementation
class-id WristWatch implements type IAlarmClock,
                               type System.IDisposable.

working-storage section.
01 Hour        binary-long property with no set.
01 Minute      binary-long property with no set.
01 AlarmHour   binary-long property.
01 AlarmMinute binary-long property.
method-id Dispose.
    invoke self::Reset()
end method.

method-id Reset.
    set Hour to 0
    set Minute to 0
    set AlarmHour to 0
    set AlarmMinute to 0
end method.

method-id Snooze (#time as binary-long).
    add #time to AlarmMinute
end method.

end class.

インターフェイスについて

インターフェイスは、実装なしで名前およびシグネチャを指定するインスタンス メソッドのリストです。

プログラムで特定のインターフェイスの実装を宣言すると、そのインターフェイス内に定義されたすべてのメソッドの実装がプログラムで必要になります。インターフェイスを実装するには、クラス定義で OBJECT 句の IMPLEMENTS 指定を使用して、指定したインターフェイスの実装をプログラムが提供するように宣言します。また、このインターフェイス型へのオブジェクト参照も宣言できます。