1
resposta

[Projeto] Exercício Classe Abstrata e Polimorfismo

void main() {
  Alimento laranja = Alimento('Laranja', 203.3, 'Laranja');
  Alimento mandioca = Alimento('Mandioca', 400.89, 'Amarela e Marron');
  Fruta maca = Fruta('Maça', 150.0, 'Vermelho e amarelo', 'Doce', 35);
  Legumes brocolis = Legumes('Brocolis', 101.2, 'Verde');
  Fruta maracuja = Fruta('Maracuja', 200.0, 'Amarelo', 'Azedo', 45);
  Fruta uva = Fruta('Uva', 0.50, 'Roxa ou Verde', 'Doce', 15);

  laranja.descricaoAlimento();
  mandioca.descricaoAlimento();
  maca.fazerSuco();
  brocolis.cozinhar();
  maracuja.fazerSuco();
  uva.refri();
  maracuja.separarIngredientes();
  maracuja.misturarIngredientes();
  maracuja.assarMassa();
}

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

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

  descricaoAlimento() {
    print('Este(a) $nome pesa $peso gramas e a cor é $cor.'); ////
  }
}

class Fruta extends Alimento implements bolo {
  String sabor;
  int diasParaMadura;

  Fruta(String nome, double peso, String cor, this.sabor, this.diasParaMadura)
      : super(nome, peso, cor);

  fazerSuco() {
    print('Este(a) $nome é bom para fazer suco!');
  }

  refri() {
    print('Este(a) $nome tem refrigerante');
  }

  @override
  void separarIngredientes() {
    print('Separando $nome para misturar.');
  }

  @override
  void misturarIngredientes() {
    print('Misturando $nome parar assar.');
  }

  @override
  void assarMassa() {
    print('Assando a massa para sair um bolo de $nome.');
  }
}

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

  cozinhar() {
    print('Este(a) $nome é bom para cozinhar!');
  }
  
}

abstract class bolo {
  void separarIngredientes();
  void misturarIngredientes();
  void assarMassa();
}

1 resposta

Oii, Daniel. Tudo bem?

Muito obrigada por compartilhar com a gente. Parabéns por praticar com as atividades do curso.

Continue firme nos estudos.

Um abraço.