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!