1
resposta

[Bug] Faça como eu fiz: Classes e heranças - ERRO

Oiee,

estou tentando fazer sozinha o que aprendi na aula, mas esta dando um erro nessa parte: Doce doce1 = Doce("Pavê", 4, "Marrom", true);

Alguém sabe me dizer o porque?

void main(){

Bolo bolo1 = Bolo("Bolo de Cenoura", 6, "Amarelo", true); Doce doce1 = Doce("Pavê", 4, "Marrom", true); Paes paes1 = Paes("caseiro", 2, "Bege", "Quentinho");

bolo1.printCafeDaTarde(); doce1.printCafeDaTarde(); paes1.printCafeDaTarde();

bolo1.Assar(); doce1.Gelado();

}

class CafeDaTarde { String nome; double peso; String cor; CafeDaTarde(this.nome, this.peso, this.cor);

void printCafeDaTarde(){ print("Este $nome pesa $peso kg e é $cor."); } }

class Bolo extends CafeDaTarde{ bool isPrecisaAssar;

Bolo(String nome, double peso, String cor, this.isPrecisaAssar) : super(nome, peso, cor);

void Assar(){ if(isPrecisaAssar){ print("Agora assim, o $nome está assando"); }else{ print ("Nem precisa Assar"); } } }

class Doce extends CafeDaTarde{ String sabor; bool? isGelado;

Doce(String nome, double peso, String cor, this.sabor, this.isGelado)
: super(nome, peso, cor);

void Gelado(){
    if(isGelado){
        print("Amo doce gelado, principalmente $nome");
    }else{
        print ("Nem gosto de $nome");
    }
}

}

class Paes extends CafeDaTarde{ String temperatura; Paes(String nome, double peso, String cor, this.temperatura) :super(nome, peso, cor); }

1 resposta

Imaginando a situação que seja obrigatório passar os 5 parâmetros no construtor do Doce. O erro esta que você esta passando apenas 4 parametros sendo que são necessarios 5.

O correto seria algo do tipo

Doce doce1 = Doce("Pavê", 4, "Marrom",'Chocolate' true);

Mas caso voce queira que esses valores sejam opcionais, voce devera mudar o construtor assim:

  String? sabor; 
  bool? isGelado;
  Doce(String nome, double peso, String cor, {this.sabor, this.isGelado})
: super(nome, peso, cor);

dessa forma 'sabor' e 'isGelado' não sao obrigatorios de se passar mais e voce poderia os chamar assim

Doce doce1 = Doce("Pavê", 4, "Marrom" ,isGelado: true)//note que nao tem o parametro sabor