E2209 インターフェースにフィールド定義が含まれていますが,これは許されません (Object Pascal)

提供: Appmethod Topics
移動先: 案内検索

エラーと警告のメッセージ(Object Pascal):インデックス への移動

インターフェースにフィールド定義が含まれていますが,これは許されません。


program Produce;
  type
    IBaseIntf = interface
      FVar : Integer;
      property Value : Integer read FVar write FVar;
    end;

begin
end.

{ ここでの意図は,値を持つプロパティを実装すること。しかしインターフェースはフィールドを持てないので,うまく機能しない }


program Solve;
    IBaseIntf = interface
      function Reader : Integer;
      procedure Writer(a : Integer);
      property Value : Integer read Reader write Writer;
    end;

begin
end.

{ この問題の望ましい解決策は,プロパティの取得/設定手続きを宣言すること。この状況では,インターフェースを実装するクラスにおいて,クラスのデータにアクセスするためのメソッドを提供しなければならない }