Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Classes e heranças

Penei um pouquinho para chamar as funções das classes no Main, mas no final deu tudo certo!

Aqui está meu código:

void main() {

Fruta fruta01 = Fruta("banana", 12, 20, 2);
Citrica citrica01 = Citrica("Limão", 5, 1, 15, 90); 
Hidrica hidrica01 = Hidrica("Melância", 1500, 15, 20, 90);

fruta01.estaMadura();
citrica01.suco();
hidrica01.refrescante();

}


class Alimento {

  String nome;
  double peso;

  Alimento(this.nome, this.peso);

}

class Fruta extends Alimento {


int diasColheita;
int diasMadurar;
bool? isMadura;

Fruta(String nome, double peso, this.diasMadurar, this.diasColheita)
:super(nome, peso);

estaMadura(){
  if(isMadura = diasColheita >= diasMadurar){
 print("a sua $nome foi colhida há $diasColheita dias, e precisa de $diasMadurar dias para ficar madura. A fruta está madura? $isMadura");
  }else{
    print("a sua $nome foi colhida há $diasColheita dias, e precisa de $diasMadurar dias para ficar madura. A fruta está madura? $isMadura");
  }
}

}


class Citrica extends Fruta{

  double porcentagemAzedo;

  Citrica(String nome, double peso, int diasColheita, int diasMadurar, this.porcentagemAzedo):super (nome,peso,diasMadurar,diasColheita);

  suco(){
    if (isMadura = true && porcentagemAzedo <= 2){
      print("Podemos fazer um ótimo suco com este(a) $nome");
    }else{
      print("Esse(a) $nome ainda não está madura(o) o suficiente para fazer um bom suco");
    }
  }

}

class Hidrica extends Fruta{

  double porcetagemAgua;

  Hidrica(String nome, double peso, int diasColheita, int diasMadurar, this.porcetagemAgua):super (nome, peso,diasColheita, diasMadurar);

  refrescante(){
    if(porcetagemAgua <= 5){
      print("Esse(a) $nome está muito refrescante");
    }else{
      print("Esse(a) $nome ainda não está tão refrescante");
    }
  }

}

Resultado dos prints no terminal:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Oi Darlan, tudo bem?

Parabéns pelo seu esforço e dedicação, muito bom ver você praticando sempre! Seu código reflete um entendimento sólido dos conceitos de classes e heranças em Dart. A estrutura das classes Fruta, Citrica e Hidrica, juntamente com seus métodos, está muito bem organizada.

Além disso, é ótimo ver que você conseguiu resolver a questão de chamar as funções das classes no main. Isso mostra uma habilidade essencial na programação orientada a objetos.

Um abraço e bons estudos.