Java: Encapsulamento + CRUD
O encapsulamento é um dos pilares da Programação Orientada a Objetos em Java. Ele consiste em proteger os dados de uma classe, permitindo acesso apenas por métodos específicos. Essa prática aumenta a segurança, organização e manutenção do código.
No encapsulamento, os atributos geralmente são definidos como private, impedindo acesso direto externo. Para manipular esses dados, utilizam-se métodos get e set, responsáveis por leitura e alteração controlada das informações.
Aplicar encapsulamento torna o sistema mais confiável e modular. Além disso, facilita futuras alterações sem comprometer outras partes da aplicação, tornando o código mais profissional e reutilizável.
Agora é a sua vez:
Pratique criando classes encapsuladas e implemente operações CRUD em Java.
Quanto mais você exercitar esse conceito, mais preparado estará para desenvolver aplicações robustas e seguras.
// Importa a classe ArrayList para armazenar objetos dinamicamente
import java.util.ArrayList;
// Importa a classe Scanner para leitura de dados do usuário
import java.util.Scanner;
// Classe que representa o objeto Pessoa
class Pessoa {
// Atributo privado para aplicar encapsulamento
private String nome;
// Atributo privado para armazenar a idade
private int idade;
// Método GET para retornar o nome
public String getNome() {
return nome;
}
// Método SET para definir o nome
public void setNome(String nome) {
this.nome = nome;
}
// Método GET para retornar a idade
public int getIdade() {
return idade;
}
// Método SET para definir a idade
public void setIdade(int idade) {
this.idade = idade;
}
}
// Classe principal do sistema
public class Main {
// Método principal do programa
public static void main(String[] args) {
// Cria um Scanner para entrada de dados
Scanner scanner = new Scanner(System.in);
// Cria uma lista para armazenar pessoas
ArrayList<Pessoa> lista = new ArrayList<>();
// Variável de controle do menu
int opcao;
// Estrutura de repetição do sistema
do {
// Exibe o menu do CRUD
System.out.println("\n1 - Cadastrar");
System.out.println("2 - Listar");
System.out.println("3 - Atualizar");
System.out.println("4 - Remover");
System.out.println("0 - Sair");
// Lê a opção escolhida
opcao = scanner.nextInt();
// Limpa o buffer do Scanner
scanner.nextLine();
// Verifica a opção escolhida
switch(opcao) {
// CREATE - Cadastro
case 1:
// Cria um novo objeto Pessoa
Pessoa p = new Pessoa();
// Solicita o nome
System.out.println("Digite o nome:");
// Define o nome usando encapsulamento
p.setNome(scanner.nextLine());
// Solicita a idade
System.out.println("Digite a idade:");
// Define a idade usando encapsulamento
p.setIdade(scanner.nextInt());
// Limpa buffer
scanner.nextLine();
// Adiciona a pessoa na lista
lista.add(p);
// Mensagem de sucesso
System.out.println("Pessoa cadastrada!");
break;
// READ - Listagem
case 2:
// Percorre toda a lista
for(int i = 0; i < lista.size(); i++) {
// Exibe os dados da pessoa
System.out.println(
i + " - " +
lista.get(i).getNome() +
" | " +
lista.get(i).getIdade()
);
}
break;
// UPDATE - Atualização
case 3:
// Solicita o índice
System.out.println("Digite o índice:");
// Lê o índice
int indiceAtualizar = scanner.nextInt();
// Limpa buffer
scanner.nextLine();
// Verifica se o índice existe
if(indiceAtualizar < lista.size()) {
// Solicita novo nome
System.out.println("Novo nome:");
// Atualiza o nome
lista.get(indiceAtualizar)
.setNome(scanner.nextLine());
// Solicita nova idade
System.out.println("Nova idade:");
// Atualiza a idade
lista.get(indiceAtualizar)
.setIdade(scanner.nextInt());
// Limpa buffer
scanner.nextLine();
// Mensagem de sucesso
System.out.println("Pessoa atualizada!");
}
break;
// DELETE - Remoção
case 4:
// Solicita o índice
System.out.println("Digite o índice:");
// Lê o índice
int indiceRemover = scanner.nextInt();
// Limpa buffer
scanner.nextLine();
// Verifica se o índice existe
if(indiceRemover < lista.size()) {
// Remove a pessoa da lista
lista.remove(indiceRemover);
// Mensagem de sucesso
System.out.println("Pessoa removida!");
}
break;
// Encerramento do sistema
case 0:
// Exibe mensagem de saída
System.out.println("Sistema encerrado!");
break;
// Caso a opção seja inválida
default:
// Exibe mensagem de erro
System.out.println("Opção inválida!");
}
// Continua enquanto a opção for diferente de 0
} while(opcao != 0);
// Fecha o Scanner
scanner.close();
}
}




Muito interessante ☺️☺️👏🏾👏🏾 meu CRUD é em JavaScript , mas depois do seu artigo fiquei curiosa em tentar com Java … rsrs vamos ver 😅😮💨