super (プリミティブ)
パッケージ: CURL.LANGUAGE.COMPILER

オーバーライドされたクラス メンバのサブクラスのバージョンにアクセスします。

シグネチャ

{super[.superclass].method-name [args]}

または

super[.superclass].getter-or-setter-name

説明

現在クラスのオーバーライドされたバージョンの代わりに、メソッド、ゲッター、またはセッターのスーパークラスのバージョンを呼び出します。superclass は、クラスが複数のスーパークラスを持つ場合に限り指定する必要があります。ダイレクト スーパークラスに限り、指定できます。

construct-super を使用してサブクラス コンストラクタからスーパークラス コンストラクタを呼び出します。

プログラミング注意事項

これを使用して、現在クラス内のオーバーライドされたダイレクト スーパークラスからメソッド、ゲッター、セッターにアクセスします。これは、メソッド、ゲッター、セッターがオーバーライドしているスーパークラスのバージョンを呼び出す必要がある場合に最も有効です。

{define-class public Parent
  {method public {message}:String
    {return "Hello"}
  }
}
{define-class public Child {inherits Parent}
  {method public {message}:String
    {return {super.message} & " World"}
  }
}