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