import 'dart_classes_abstratas.dart';
void main(){
Legumes mandioca1 = Legumes(true, 'Macaxeira', 1200.59, 'Marrom');
Frutas banana1 = Frutas('Doce', 5, true, 'Banana', 250.65, 'Amarela');
Nozes macadamia1 = Nozes(100.00, 'Doce', 20, true , 'Macadâmia', 1.95, 'Branco Amarelado');
Citricas limao1 = Citricas(10, 'Azedo', 5, true, 'Limão', 5.25, 'Verde');
mandioca1.infoAlimento();
banana1.infoAlimento();
macadamia1.infoAlimento();
limao1.infoAlimento();
mandioca1.cozinhar();
limao1.fazerSuco();
banana1.estaMadura(10);
mandioca1.separarIngredientes();
mandioca1.fazerMassa();
mandioca1.assar();
macadamia1.separarIngredientes();
macadamia1.fazerMassa();
macadamia1.assar();
}
class Alimento{
String nome;
double peso;
String cor;
Alimento(
this.nome,
this.peso,
this.cor
);
void infoAlimento(){
print('Este(a) $nome é saboroso e pesa $peso gramas, além da coloração $cor');
}
}
class Frutas extends Alimento implements Bolo{
String sabor;
int diasDesdeColheita;
bool? isMadura;
Frutas(
this.sabor,
this.diasDesdeColheita,
this.isMadura,
super.nome,
super.peso,
super.cor);
estaMadura(int diasParaMadura) {
isMadura = diasDesdeColheita >= diasParaMadura;
if(isMadura == true){
print('A $nome está madura');
}
else{
print('A $nome não está madura, ela precisa de $diasParaMadura dias para estar madura');
}
}
void fazerSuco(){
print('Você fez um ótimo suco de $nome');
}
@override
void assar() {
print('Indo para o forno \n45min... \nPlim Plim o Bolo de $nome está pronto bom apetite');
}
@override
void fazerMassa() {
print('Misturando o(a) $nome com farinha de rosca fermentada 3 ovos açucar e uma pitada de sal');
}
@override
void separarIngredientes() {
print('Separando $nome... \nLavando $nome...');
}
}
class Legumes extends Alimento implements Bolo{
bool isPrecisaCozinhar;
Legumes(
this.isPrecisaCozinhar,
super.nome,
super.peso,
super.cor);
void cozinhar(){
if(isPrecisaCozinhar){
print('Pronto, o(a) $nome está cozinhando');
}else{
print('Não precisa cozinhar');
}
}
@override
void assar() {
print('Indo para o forno \n45min... \nPlim Plim o Bolo de $nome está pronto, bom apetite');
}
@override
void fazerMassa() {
print('Misturando o(a) $nome com farinha de rosca fermentada 3 ovos açucar e uma pitada de sal');
}
@override
void separarIngredientes() {
print('Separando $nome... \nLavando $nome...');
}
}
class Citricas extends Frutas{
double nivelDeAzedo;
Citricas(
this.nivelDeAzedo,
super.sabor,
super.diasDesdeColheita,
super.isMadura,
super.nome,
super.peso,
super.cor);
void existeRefri(bool existe){
if(existe){
print('Existe refrigerante de $nome');
}else{
print('Não existe refri de $nome');
}
}
}
class Nozes extends Frutas{
double porcentagemOleoNatural;
Nozes(
this.porcentagemOleoNatural,
super.sabor,
super.diasDesdeColheita,
super.isMadura,
super.nome,
super.peso,
super.cor);
@override
void fazerMassa(){
print('Tirar a casca');
super.fazerMassa();
}
}
a classe abstrata ficou em outro arquivo estava vendo sobre como melhor organizar meu código, porém o restante vou organizar depois era mais para testar
abstract class Bolo{
void separarIngredientes();
void fazerMassa();
void assar();
}
resultado:
Este(a) Macaxeira é saboroso e pesa 1200.59 gramas, além da coloração Marrom Este(a) Banana é saboroso e pesa 250.65 gramas, além da coloração Amarela Este(a) Macadâmia é saboroso e pesa 1.95 gramas, além da coloração Branco Amarelado Este(a) Limão é saboroso e pesa 5.25 gramas, além da coloração Verde Pronto, o(a) Macaxeira está cozinhando Você fez um ótimo suco de Limão A Banana não está madura, ela precisa de 10 dias para estar madura Separando Macaxeira... Lavando Macaxeira... Misturando o(a) Macaxeira com farinha de rosca fermentada 3 ovos açucar e uma pitada de sal Indo para o forno 45min... Plim Plim o Bolo de Macaxeira está pronto, bom apetite Separando Macadâmia... Lavando Macadâmia... Tirar a casca Misturando o(a) Macadâmia com farinha de rosca fermentada 3 ovos açucar e uma pitada de sal Indo para o forno 45min... Plim Plim o Bolo de Macadâmia está pronto bom apetite
Exited.