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
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_secondsharus diteruskan ke metodecook()milik kelas induk, … - lalu tampilkan
message()(docs) tambahan berisi"Enjoy your dinner!".
- Metode cook tetap harus menerima argumen
- 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
___