ПочатиПочніть безкоштовно

Перевизначення можливостей приготування

Класи-нащадки також можуть розширювати функціональність, перевизначаючи методи. Для цього вони оголошують методи з тими самими іменами, що й у батьківського класу.

Класи-нащадки можуть звертатися до публічних методів батьківського класу, додаючи префікс super$ до імені.

Ця вправа є частиною курсу

Об'єктно-орієнтоване програмування з S3 та R6 в R

Переглянути курс

Інструкції до вправи

Мікрохвильову піч уже визначено у вашому робочому середовищі.

  • Оновіть визначення класу «вишукана мікрохвильова піч», щоб додати публічний елемент.
  • Перевизначте метод cook().
    • Метод cook і далі має приймати аргумент time_seconds.
    • Він має передавати аргумент time_seconds до методу cook() батьківського класу, …
    • а потім показати додатковий виклик message() (docs) з текстом "Enjoy your dinner!".
  • Створіть об'єкт вишуканої мікрохвильової печі та присвойте його змінній a_fancy_microwave.
  • Викличте метод cook() на одну секунду.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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
___
Редагувати та запускати код