MulaiMulai sekarang secara gratis

Menimpa Kemampuan Memasak

Kelas turunan juga dapat memperluas fungsionalitas dengan menimpa metode. Caranya adalah dengan mendefinisikan metode dengan nama yang sama seperti milik induknya.

Kelas turunan dapat mengakses metode publik dari kelas induk dengan menambahkan awalan super$ pada namanya.

Latihan ini adalah bagian dari kursus

Pemrograman Berorientasi Objek dengan S3 dan R6 di R

Lihat Kursus

Petunjuk latihan

Sebuah oven microwave telah didefinisikan sebelumnya di workspace Anda.

  • Perbarui definisi kelas fancy microwave oven agar menyertakan elemen publik.
  • Timpa metode cook().
    • Metode cook tetap harus menerima argumen time_seconds.
    • Argumen time_seconds harus diteruskan ke metode cook() milik kelas induk, …
    • lalu tampilkan message() (docs) tambahan berisi "Enjoy your dinner!".
  • Instansiasi sebuah objek fancy microwave oven dan tetapkan ke a_fancy_microwave.
  • Panggil metode cook() selama satu detik.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Explore microwave oven class
microwave_oven_factory

# Update the class definition
fancy_microwave_oven_factory <- R6Class(
  "FancyMicrowaveOven",
  inherit = microwave_oven_factory,
  # Add a public list with a cook method
  ___ = ___(
    ___ = ___
    
    
    
  )
)

# Instantiate a fancy microwave
a_fancy_microwave <- ___

# Call the cook() method
___
Edit dan Jalankan Kode