Comece agoraComece grátis

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

Ver curso

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 FancyMicrowaveOven e atribua a a_fancy_microwave.
  • Chame o método cook_baked_potato() de a_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
___
Editar e Executar Código