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);
}