MulaiMulai sekarang secara gratis

Memperluas Kemampuan Memasak

Kelas anak dapat memperluas fungsionalitas kelas induk dengan menambahkan metode public lain dengan nama yang berbeda dari yang tersedia di kelas induk.

Metode public dapat memanggil metode public lain dengan menambahkan awalan self$ 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 ruang kerja Anda.

  • Perluas definisi kelas oven microwave mewah agar menyertakan elemen public.
  • Tambahkan metode public cook_baked_potato().
    • Metode ini tidak menerima argumen.
    • Di dalam tubuh fungsi, panggil metode cook() miliknya sendiri selama 3 detik.
  • Buat objek FancyMicrowaveOven dan tetapkan ke a_fancy_microwave.
  • Panggil metode cook_baked_potato() milik a_fancy_microwave.

Peringatan: Jangan mencoba memakan kentang panggang setelah dimasak selama 3 detik karena rasanya akan sangat buruk dan Anda dapat mengalami keracunan makanan.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Explore microwave oven class
microwave_oven_factory

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

# Instantiate a fancy microwave
a_fancy_microwave <- ___

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