Encapsulamento
Conceito Base
Encapsulamento é o princípio de ocultar detalhes internos e fornecer uma interface controlada para interação.
Implementação
public class SecureDataVault {
// Dados privados
private String[] encryptedData;
private int accessLevel;
private boolean isLocked;
// Interface pública
public void storeData(String data) {
if (!isLocked) {
// Lógica de armazenamento
}
}
public String retrieveData(int index) {
if (validateAccess()) {
return encryptedData[index];
}
return null;
}
private boolean validateAccess() {
// Lógica de validação
return accessLevel > 2;
}
}
Modificadores de Acesso
private
Acesso apenas na classe
Máxima proteção
Dados sensíveis
protected
Acesso na hierarquia
Classes derivadas
Pacote atual
public
Acesso universal
Interface externa
API pública
Getters e Setters
public class CyberAccount {
private double credits;
private String owner;
// Getter
public double getCredits() {
return credits;
}
// Setter com validação
public void setCredits(double amount) {
if (amount >= 0) {
this.credits = amount;
}
}
}
Benefícios
Segurança
Controle de acesso
Validação de dados
Proteção de estado
Manutenção
Mudanças internas
Evolução segura
Debugging simples
Flexibilidade
Interface estável
Implementação variável
Versionamento
Exercícios Práticos
public class SecuritySystem {
// Implemente:
// 1. Dados privados
// 2. Getters/Setters
// 3. Validações
// 4. Métodos de acesso
}
Próximos Passos
26 June 2025