Reutilizando o mesmo código do ultimo desafio, implementei algumas coisas a mais, e arrumei a classe Acougue. 2 pontos que gostaria de falar,
primeiro: O desafio era pra 3 métodos, mas não consegui pensar em mais métodos a não ser o Fazendo pedido, rs (imaginação é meio fraca) Porém, deu pra entender o propósito da coisa.
segundo: Tentei colocar Required em " DISPONIBILIDADE ", mas ficava dando erro, não consegui ajeitar, como teria que fazer ?
no mais, o resultado ficou assim. /
class Mercado {
String produto;
double preco;
bool disponibilidade;
Mercado(this.produto, this.preco, this.disponibilidade);
atualizaPreco(double novoPreco) {
preco = novoPreco;
}
}
class Acougue extends Mercado implements Pedidos {
bool isCarneDeBoi;
Acougue(String produto, double preco, bool disponibilidade,
{required this.isCarneDeBoi})
: super(produto, preco, disponibilidade);
verificaTipoDeCarne() {
if (isCarneDeBoi) {
print('Eu quero carne de boi!');
} else {
print('Eu quero carne de boi!');
}
}
@override
fazendoPedido() {
if (disponibilidade) {
print(
'Olá, vocês tem $produto? $disponibilidade, qual o preço ? $preco. Ok me ve dois kg!');
} else {
print(
'Não teremos esse produto disponivel hoje, mas você pode escolher outro.');
}
}
}
class Padaria extends Mercado implements Pedidos {
bool isDoce;
Padaria(String produto, double preco, bool disponibilidade,
{required this.isDoce})
: super(produto, preco, disponibilidade);
verificandoGosto() {
if (isDoce) {
print('A(o) $produto, é doce!');
} else {
print('A(o) $produto, é salgado');
}
}
@override
fazendoPedido() {
if (disponibilidade) {
print(
'Olá, vocês tem $produto? $disponibilidade, qual o preço ? $preco. Ok me ve dois!');
} else {
print(
'Não teremos esse produto disponivel hoje, mas você pode escolher outro.');
}
}
}
abstract class Pedidos {
fazendoPedido();
}
main() {
Padaria paoDeMel = Padaria('pao de mel', 5.5, false, isDoce: true);
Acougue fileAmericano = Acougue('file americano', 33.90, true, isCarneDeBoi: true);
(paoDeMel.fazendoPedido());
(fileAmericano.fazendoPedido());
}