Durante o exercício, notei que o método detalhes() das classes filhas não exibia o nome e tipo do ingrediente. Para corrigir mantendo o princípio de herança, pesquisei sobre super.detalhes() e apliquei para reutilizar o código da classe pai, evitando repetição.
Aproveitei também para explorar formatação de texto com códigos ANSI (\x1B[1m) para negrito e strings multilinhas (''') para melhor organização visual.
Gostaria de validar se essa abordagem está adequada ou se há alternativas melhores. Agradeço o feedback!
/* Códigos ANSI úteis:
\x1B[1m = negrito
\x1B[0m = reset (volta ao normal)
\x1B[4m = sublinhado
\x1B[3m = itálico
strings multilinhas com aspas triplas ('''...''') para organizar melhor os blocos de informação
*/
class Ingrediente {
String nome;
String tipo;
Ingrediente(this.nome, this.tipo);
void detalhes() {
print('Ingrediente: $nome');
print('Tipo: $tipo');
}
}
class Frutas extends Ingrediente {
Frutas(String nome) : super(nome, 'Frutas');
@override
void detalhes() {
super.detalhes(); // utilizamos a referência super para chamar o método da classe pai..
print('''
Características:
- Alimentos naturalmente doces e suculentos
- Geralmente consumidas cruas, preservando vitaminas
- Ricas em fibras, antioxidantes e vitaminas
Receita Simples - Smoothie de Banana:
- 1 banana madura, 200ml de leite, 1 colher de mel
- Bata tudo no liquidificador por 1 minuto
''');
}
}
class Legumes extends Ingrediente {
Legumes(String nome) : super(nome, 'Legumes');
@override
void detalhes() {
super.detalhes();
print('''
Características:
Vegetais nutritivos que requerem cocção para melhor digestibilidade
O cozimento quebra fibras duras e libera nutrientes
Ricos em vitaminas do complexo B, minerais e carboidratos complexos
Base fundamental para sopas, refogados e ensopados
Receita Simples: Cenoura Glaceada
- 3 cenouras em rodelas
- 2 colheres de manteiga
- 1 colher de açúcar mascavo
Pitada de sal
Cozinhe as cenouras por 10 min. Refogue na manteiga com açúcar até dourar (5 min).
''');
}
}
class Temperos extends Ingrediente {
Temperos(String nome) : super(nome, 'Temperos');
@override
void detalhes() {
super.detalhes();
print('''
Características:
Especiarias e condimentos que realçam sabores
Usados em pequenas quantidades para transformar pratos
Podem ter propriedades medicinais e conservantes naturais
Adicionados em diferentes etapas do preparo conforme o tipo
Receita Simples: Sal de Ervas Caseiro
- 4 colheres de sal grosso
- 1 colher de alecrim seco
- 1 colher de tomilho seco
- 1 dente de alho desidratado
Triture tudo no processador. Armazene em pote hermético por até 3 meses.
\n''');
}
}
void main() {
print("-" * 62);
print("\n\x1B[1m Guia de Ingredientes: Características e Uso\x1B[0m"); // coidgo ANSI
print("-" * 62);
print('');
// Criando instâncias de frutas, legumes e temperos
var banana = Frutas('Banana');
var cenoura = Legumes('Cenoura');
var sal = Temperos('Sal');
// Exibindo os detalhes
banana.detalhes();
print('');
cenoura.detalhes();
print('');
sal.detalhes();
}