Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá, Gabriel!
Primeiro, você precisa criar as classes. No exemplo do exercício, temos diferentes tipos de alimentos, então poderíamos ter uma classe "Alimento" geral e então classes específicas para cada tipo de alimento, como "Macadâmia", "Banana", "Macaxeira" e "Limão". Veja o exemplo:
class Alimento {
double peso;
String cor;
Alimento(this.peso, this.cor);
void mostrarDados() {
print('Este(a) ${runtimeType} pesa $peso gramas e é $cor.');
}
}
class Macadamia extends Alimento {
Macadamia(double peso, String cor) : super(peso, cor);
}
class Banana extends Alimento {
Banana(double peso, String cor) : super(peso, cor);
}
class Macaxeira extends Alimento {
Macaxeira(double peso, String cor) : super(peso, cor);
void cozinhar() {
print('Pronto, a $runtimeType está cozinhando!');
}
}
class Limao extends Alimento {
Limao(double peso, String cor) : super(peso, cor);
void fazerSuco() {
print('Você fez um ótimo suco de $runtimeType!');
}
}
Nesse exemplo, a classe Alimento é a classe mãe, e as outras são subclasses que herdam as características de Alimento. Note que cada subclasse pode ter métodos próprios, como cozinhar na classe Macaxeira e fazerSuco na classe Limao.
Depois de criar as classes, você pode criar objetos e chamar os métodos:
void main() {
Macadamia macadamia = Macadamia(2.0, 'Branco Amarelado');
Banana banana = Banana(75.0, 'Amarela');
Macaxeira macaxeira = Macaxeira(1200.0, 'Marrom');
Limao limao = Limao(100.0, 'Verde');
macadamia.mostrarDados();
banana.mostrarDados();
macaxeira.mostrarDados();
macaxeira.cozinhar();
limao.mostrarDados();
limao.fazerSuco();
}
Espero que isso esclareça suas dúvidas sobre como criar classes e heranças no Dart. Lembre-se de que a prática é a chave para o aprendizado, então continue praticando!
Espero ter ajudado e bons estudos!