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
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
FancyMicrowaveOvendan tetapkan kea_fancy_microwave. - Panggil metode
cook_baked_potato()milika_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
___