Mulai sekarangMulai 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 merupakan bagian dari kursus

Pemrograman Berorientasi Objek dengan S3 dan R6 di R

Lihat Kursus

Instruksi 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 langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

# 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