Ampliando as capacidades de cozimento
A classe filha pode ampliar a funcionalidade da classe pai adicionando novos métodos públicos com nomes diferentes dos disponíveis na classe pai.
Métodos públicos podem chamar outros métodos públicos prefixando seus nomes com self$.
Este exercicio faz parte do curso
Programação Orientada a Objetos com S3 e R6 em R
Instruções do exercicio
Um micro-ondas foi pré-definido no seu workspace.
- Estenda a definição da classe de micro-ondas sofisticado para incluir um elemento
public. - Adicione um método público
cook_baked_potato().- Ele não deve receber argumentos.
- No corpo, ele deve chamar seu próprio método
cook()por 3 segundos.
- Crie um objeto
FancyMicrowaveOvene atribua aa_fancy_microwave. - Chame o método
cook_baked_potato()dea_fancy_microwave.
Aviso: Não tente comer batatas assadas depois de cozinhá-las por 3 segundos; elas vão ficar horríveis e você pode ter intoxicação alimentar.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# 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
___