Skip to content

hudson-eng-software/CadastroDeProdutosJavaInterfaces

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛒 Sistema de Cadastro de Produtos em Java

Java POO Interfaces Swing


📌 Sobre o projeto

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.


🏗️ Estrutura do Projeto

src/
├── Produto.java # Classe de modelo
├── ProdutoService.java # Interface (contrato)
├── ProdutoServiceImpl.java # Implementação do serviço
└── TelaCadastroProduto.java # Tela gráfica em Swing

📖 Explicação do Código

🔹 Produto.java

Representa 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()
}

🔹 ProdutoService.java

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();
}

🔹 ProdutoServiceImpl.java

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() { ... }
}

🔹 TelaCadastroProduto.java

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

  1. Compile os arquivos:
javac *.java
  1. Rode o programa:
java TelaCadastroProduto
  1. Preencha os campos Nome, Preço, Quantidade e clique em Salvar.

  2. Use o botão Listar Produtos para visualizar todos os cadastrados.

🎯 Conceitos aplicados

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.

🚀 Possíveis melhorias

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.

Dev Hudson Amorim

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages