se eu quisesse que o isMadura aparecese no construtor do Citricas, como ficaria?
se eu quisesse que o isMadura aparecese no construtor do Citricas, como ficaria?
Bom dia!
O bool isMadura por estar com o ? lá em fruta pode ser nulo, e está com o null safety, portanto para adicioná-lo ao construtor precisamos fazer isso de forma que ele seja algo opcional, não sei se estou exatamente certo pois acebei de finalizar esse curso e ao tentar utilizar o isMadura de fruta sempre obtive erro então para utiliza-lo eu o coloquei dentro da classe Citricas com null safety e o coloquei no construtor como nomeado opcional
class Citricas extends Fruta {
double nivelAzedo;
bool? isMadura;
Citricas(String nome, double peso, String cor, String sabor,
int diasDesdeColheita, this.nivelAzedo, {this.isMadura})
: super(nome, peso, cor, sabor, diasDesdeColheita);
printFrutas(){
print("Este(a) $nome pesa $peso g e é $cor e está maduro? $isMadura.");
}
existeRefri(bool existe) {
if (existe) {
print("Existe refrigerante de $nome");
} else {
print("Não existe refrigerante de $nome");
}
}
}
Para testar eu criei o método printFrutas para retornar o isMadura no final e verificar se está funcionando certinho, para testar minha inserção de dados ficou assim:
Citricas limao1 = Citricas('Limão', 100, 'Verde', 'Azedo', 5, 9, isMadura: true);
//Lembrando, como ele é um nomeado opcional ele pode ficar fora de posição
Para usar ele do Frutas ele teria que ser nomeado no super, ao adicioná-lo ficaria :
Citricas(String nome, double peso, String cor, String sabor,
int diasDesdeColheita, this.nivelAzedo, {bool isMadura})
: super(nome, peso, cor, sabor, diasDesdeColheita, isMadura: diasDesdeColheita>=10 ););
Não necessariamente precisa ser uma comparação, podemos colocar ali dentro alguma função que traga esse valor ao bool pois se não irá retornar null ou apenas um true ou false.
Como 5 é menor que 10 então retornou em false. Estas foram as duas maneiras que encontrei de realizar isso, peço desculpas se ficou um pouco confuso, ainda estou assimilando todo esse conteúdo que acabei de ver ^^.