1
resposta

[Projeto] Tarefa herança


void main() {
  
Legumes mandioca = Legumes("Macaxeira", 1200.00, "Marrom ", true);
Frutas banana = Frutas("Banana", 75.00, "Amarela", "Doce", 12);
Nozes macadamia = Nozes("Macadamia", 2.00, "Branco amarelado", "Doce", 20, 35.00);
Criticas limao = Criticas("Limao", 50.00, "Verde", "Azedo", 5, 9);

mandioca.printAlimento();
banana.printAlimento();
macadamia.printAlimento();
limao.printAlimento();

mandioca.cozinhar();
limao.fazerSuco();

}
class Alimento {
  String nome;
  double peso;
  String cor;

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

  printAlimento(){
    print("Este(a) $nome pesa $peso em gramas e é $cor");
  }
}
class Frutas extends Alimento{
  String sabor;
  int diasDesdeColheita;
  bool? isMadura;

  Frutas(String nome, double peso, String cor, this.sabor, this.diasDesdeColheita, {this.isMadura})
          :super(nome, peso, cor);

  estaMadura(int diasParaMadura){
    isMadura = diasDesdeColheita >= diasParaMadura;
    print("A sua $nome foi colhida a $diasDesdeColheita "
          "dias e precisa de $diasParaMadura dias para poder colher!"
          " Ela está madrua? $isMadura");
  }

  fazerSuco(){
    print("Você fez um otimo suco de $nome");
  }

}
class Legumes extends Alimento{
  
  bool isPrecisaCozinhar;

  Legumes(String nome, double peso, String cor, this.isPrecisaCozinhar):super(nome, peso, cor);

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

}

class Criticas extends Frutas{

  double nivelAzedo;

  Criticas(String nome, double peso, String cor, String sabor, int diasDesColheita, this.nivelAzedo) : 
            super(nome, peso, cor,sabor, diasDesColheita);

  existeRefri(bool existe){
    if(existe){
      print("Existe refrigerante de $nome");
    }else {
      print("Não existe refrigerante de $nome");
    }
  }

}

class Nozes extends Frutas{

  double porcentagemOleoNatural;

  Nozes(String nome, double peso, String cor, String sabor, int diasDesColheita, this.porcentagemOleoNatural) : 
            super(nome, peso, cor,sabor, diasDesColheita);
}

1 resposta

Oi Arthur, tudo bem?

No seu código, você definiu algumas classes, como Alimento, Frutas, Legumes, Criticas e Nozes, todas herdando da classe Alimento. Essa é uma ótima maneira de reutilizar código e organizar suas classes de forma hierárquica.

Você também criou alguns objetos dessas classes e chamou alguns métodos, como printAlimento(), cozinhar() e fazerSuco(). É importante observar que você está usando a herança de forma adequada, chamando os métodos específicos de cada classe.

Parabéns por praticar! E muito obrigada por compartilhar com a gente o seu código.

Espero ter ajudado.

Um abraço.