void main() {
ItemEstoque smartphone = ItemEstoque(item: 'Smartphone', quantidade: 100, preco: 199 );
ItemEstoque notebook = ItemEstoque(item: 'Notebook', quantidade: 50, preco: 199 );
ItemEstoque geladeira = ItemEstoque(item: 'Geladeira', quantidade: 20, preco: 199 );
ItemEstoque freezer = ItemEstoque(item: 'Freezer', quantidade: 10, preco: 199 );
ItemEstoque tv = ItemEstoque(item: 'Tv', quantidade: 12, preco: 199 );
print('Produto: ${smartphone.item}, Quantidade em estoque: ${smartphone.quantidade}');
print('Produto: ${notebook.item}, Quantidade em estoque: ${notebook.quantidade}');
print(smartphone.adicionarAoEstoque(smartphone, 20));
print(notebook.adicionarAoEstoque(notebook, 10));
List<ItemEstoque> listaDeEstoque = [smartphone, notebook, geladeira, freezer, tv];
for (ItemEstoque itemCadastrado in listaDeEstoque) {
print('Produto: ${itemCadastrado.item}, Quantidade em estoque: ${itemCadastrado.quantidade}');
}
print('Alterando preço do produto: ${tv.item} para: ${tv.alterarPreco(tv, 299.99)}');
}
class ItemEstoque {
String item;
double quantidade;
double preco;
ItemEstoque({required this.item, required this.quantidade, required this.preco});
adicionarAoEstoque(ItemEstoque item, double quantidade) {
item.quantidade += quantidade;
print('Foram adicionadas $quantidade unid. do estoque, estoque atualizado: ${item.quantidade}');
return item.quantidade;
}
removerDoEstoque(ItemEstoque item, double quantidade) {
item.quantidade -= quantidade;
print('Foram removidas $quantidade unid. do estoque, estoque atualizado: ${item.quantidade}');
return item.quantidade;
}
alterarPreco(ItemEstoque item, double novoValor) {
item.preco = novoValor;
return item.preco;
}
}
Fiquei com uma dúvida, há alguma maneira de chamar os métodos que estão na classe ItemEstoque sem ser através das variáveis dos itens?
ex: estou usando a variável smartphone para fazer smartphone.adicionarAoEstoque(smartphone, 20);
achei isso meio redundante, faria mais sentido adicionarAoEstoque(smartphone, 20);