Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Classes e heranças

void main() {
  print('INFORMAÇÕES DOS ALIMENTOS:');
  funcEspacamento();

  Alimento pao1 = Alimento('Pão', 50, 'marrom');
  Fruta pera1 = Fruta('Pera', 133, 'amarela', 9, true);
  Castanhas avela1 = Castanhas('Avelã', 2, 'marrom', 30, true, 60);
  Hortalicas alface1 = Hortalicas('Alface', 5, 'verde', 4, true, true);

  pao1.infoAlimento();

  funcEspacamento();

  pera1.infoAlimento();
  pera1.fazerSuco();

  funcEspacamento();

  avela1.infoAlimento();
  avela1.fazerPasta();

  funcEspacamento();

  alface1.infoAlimento();
  alface1.makeSalada();
}

//classes
class Alimento {
  String nome;
  double peso;
  String cor;

  Alimento(this.nome, this.peso, this.cor);

  infoAlimento() {
    print('$nome\nEste(a) $nome pesa $peso gramas e é $cor');
  }
}

class Fruta extends Alimento {
  int diasDesdeColheita;
  bool isMadura;

  Fruta(String nome, double peso, String cor, this.diasDesdeColheita,
      this.isMadura)
      : super(nome, peso, cor);

  fazerSuco() {
    if (isMadura) {
      print('Você pode fazer suco de $nome');
    } else {
      print('Ainda não dá para fazer suco de $nome');
    }
  }
}

class Castanhas extends Fruta {
  int nivelOleoso;

  Castanhas(String nome, double peso, String cor, int diasDesdeColheita,
      bool isMadura, this.nivelOleoso)
      : super(nome, peso, cor, diasDesdeColheita, isMadura);

  fazerPasta(){
    print('Você pode fazer uma bela pasta de $nome');
  }
}

class Hortalicas extends Fruta {
  bool haveFolhas;

  Hortalicas(String nome, double peso, String cor, int diasDesdeColheita,
      bool isMadura, this.haveFolhas)
      : super(nome, peso, cor, diasDesdeColheita, isMadura);
  
  makeSalada(){
    print('Você pode fazer uma bela salada');
  }
}


//espaçamento para os itens
funcEspacamento(){
  print('_________________________________________________________\n');
}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Oi Vitor, tudo bem?

Muito obrigada por compartilhar com a gente a sua atividade!

Sua resposta mostra uma compreensão sólida dos conceitos de orientação a objetos e herança em Dart. O código está organizado de maneira clara e as classes são bem definidas, o que torna a estrutura fácil de entender. Além disso, você criou instâncias das classes e demonstrou como os diferentes métodos funcionam em cada uma delas.

A utilização de herança nas classes Fruta, Castanhas e Hortalicas para compartilhar propriedades e comportamentos da classe Alimento é uma abordagem adequada e eficaz. Além disso, você também implementou métodos específicos para cada subclasse, como fazerSuco, fazerPasta e makeSalada, o que mostra uma boa diferenciação de funcionalidades.

Os nomes das classes e dos métodos são descritivos e ajudam a entender facilmente a finalidade de cada parte do código. Os comentários também são bem-vindos para fornecer clareza adicional, como no caso do comentário que descreve o propósito da função funcEspacamento.

No geral, seu código é bem estruturado, demonstra um bom entendimento de conceitos de programação orientada a objetos e atende ao propósito da atividade de maneira eficaz. Parabéns!

Um abraço e bons estudos.