1
resposta

Tarefa - Classes e Heranças

Código:

main() {
  Nozes macadamia = Nozes("Macadamia", 2.0, "Branco Amarelado", 20, false, 10);
  macadamia.printAlimento();
  Fruta banana = Fruta("Banana", 75, "Amarela", 20, false);
  banana.printAlimento();
  Legumes macaxeira = Legumes("Macaxeira", 1200, "Marrom", true);
  macaxeira.printAlimento();
  Fruta limao = Fruta("Limão", 100, "Verde", 10, true);
  limao.printAlimento();
  macaxeira.cozinhar();
  limao.fazerSuco();
}

class Alimento {
  String nome;
  double peso;
  String cor;
  Alimento(this.nome, this.peso, this.cor);
  void printAlimento() {
    print("Este(a) $nome pesa $peso gramas e é $cor");
  }
}

class Fruta extends Alimento {
  int diasDesdeColheita;
  bool? temSuco;
  bool? isMadura;
  Fruta(String nome, double peso, String cor, this.diasDesdeColheita,
      this.temSuco,
      {this.isMadura})
      : super(nome, peso, cor);

  void fazerSuco() {
    if (temSuco == true) {
      print("Você fez um ótimo suco de $nome");
    } else {
      print("Não tem suco de $nome");
    }
  }
}

class Legumes extends Alimento {
  bool isPrecisaCozinhar;
  Legumes(String nome, double peso, String cor, this.isPrecisaCozinhar)
      : super(nome, peso, cor);

  void cozinhar() {
    if (isPrecisaCozinhar) {
      print("Pronto, o(a) $nome está cozinhando!");
    } else {
      print("Não precisa cozinhar");
    }
  }
}

class Nozes extends Fruta {
  double porcentagemOleoNatural;

  Nozes(String nome, double peso, String cor, int diasDesdeColheita,
      bool temSuco, this.porcentagemOleoNatural)
      : super(nome, peso, cor, diasDesdeColheita, temSuco);
}

Resultado:

Este(a) Macadamia pesa 2.0 gramas e é Branco Amarelado
Este(a) Banana pesa 75.0 gramas e é Amarela
Este(a) Macaxeira pesa 1200.0 gramas e é Marrom
Este(a) Limão pesa 100.0 gramas e é Verde
Pronto, o(a) Macaxeira está cozinhando!
Você fez um ótimo suco de Limão
1 resposta