Este é um exemplo de Cadastro de Produtos em Java, implementado com:
- Programação Orientada a Objetos (POO)
- Uso de Interfaces para abstração de serviços
- Biblioteca gráfica Swing para criação da interface
O sistema permite cadastrar produtos (nome, preço e quantidade) e listar os produtos já cadastrados.
src/
├── Produto.java # Classe de modelo
├── ProdutoService.java # Interface (contrato)
├── ProdutoServiceImpl.java # Implementação do serviço
└── TelaCadastroProduto.java # Tela gráfica em SwingRepresenta o modelo de dados, com atributos nome, preço e quantidade.
public class Produto {
private String nome;
private double preco;
private int quantidade;
// getters, construtor e toString()
}Define o contrato para manipulação de produtos. Assim, qualquer implementação (ex: banco de dados, memória) pode ser usada.
public interface ProdutoService {
void salvarProduto(Produto produto);
List<Produto> listarProdutos();
}Implementa o serviço definido pela interface, salvando os produtos em memória (lista).
public class ProdutoServiceImpl implements ProdutoService {
private List<Produto> produtos = new ArrayList<>();
public void salvarProduto(Produto produto) { ... }
public List<Produto> listarProdutos() { ... }
}Interface gráfica criada com Swing. Permite cadastrar produtos e listar os já existentes.
ProdutoService produtoService = new ProdutoServiceImpl();
TelaCadastroProduto tela = new TelaCadastroProduto(produtoService);
tela.setVisible(true);Como executar
- Compile os arquivos:
javac *.java- Rode o programa:
java TelaCadastroProduto-
Preencha os campos Nome, Preço, Quantidade e clique em Salvar.
-
Use o botão Listar Produtos para visualizar todos os cadastrados.
Interfaces: abstraem a lógica do serviço de produto, facilitando a manutenção e expansão.
POO: separação em classes claras (Modelo, Serviço, Tela).
Swing: construção de interface gráfica em Java.
Persistir os produtos em banco de dados (MySQL ou PostgreSQL).
Implementar edição e exclusão de produtos.
Criar um padrão MVC para separar melhor as camadas.