1. Learn
  2. /
  3. Courses
  4. /
  5. R における S3 と R6 を使ったオブジェクト指向プログラミング

Connected

Exercise

親クラスを公開する

既定では、R6 クラスは直接の親クラスの機能にしかアクセスできません。複数世代にまたがってアクセスできるようにするには、途中のクラスが親を公開するアクティブバインディングを定義する必要があります。形式は次のとおりです。

active = list(
  super_ = function() super
)

Instructions

100 XP

ワークスペースには、電子レンジのクラスがあらかじめ定義されています。

  • active リスト要素を追加して、ファンシー電子レンジのクラスを拡張してください。
  • 親の機能を公開するアクティブバインディングを追加します。
    • バインディング名は super_ とします。
    • 引数を取らず、単に super を返す関数にしてください。
  • ファンシー電子レンジのオブジェクトをインスタンス化し、a_fancy_microwave に代入します。
  • ファンシー電子レンジの super_ バインディングを呼び出してください。