Sobrescrevendo as capacidades de cozimento
Classes filhas também podem estender funcionalidades sobrescrevendo métodos. Elas fazem isso definindo métodos com o mesmo nome dos da classe pai.
Classes filhas podem acessar métodos públicos da classe pai prefixando o nome com super$.
Este exercicio faz parte do curso
Programação Orientada a Objetos com S3 e R6 em R
Instruções do exercicio
Um forno de micro-ondas foi pré-definido no seu workspace.
- Atualize a definição da classe de micro-ondas sofisticado para incluir um elemento público.
- Sobrescreva o método
cook().- O método deve continuar recebendo o argumento
time_seconds. - Ele deve passar o argumento
time_secondspara o métodocook()da classe pai… - e então exibir uma
message()(docs) adicional dizendo"Enjoy your dinner!".
- O método deve continuar recebendo o argumento
- Instancie um objeto de micro-ondas sofisticado e atribua a
a_fancy_microwave. - Chame o método
cook()por um segundo.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# 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
___