Imagem do artigo Encapsulamento: Programação orientada a objetos

19.15. Encapsulamento: Programação orientada a objetos

Página 76 | Ouça em áudio

19.15. Encapsulamento: Programação orientada a objetos

Encapsulamento é um dos quatro pilares fundamentais da Programação Orientada a Objetos (POO). Os outros três são herança, polimorfismo e abstração. O encapsulamento é um mecanismo que restringe o acesso direto aos elementos de um objeto. Ele é usado para ocultar os valores ou o estado de um objeto estruturado, que geralmente são armazenados em variáveis de instância.

Por que o encapsulamento é importante?

O encapsulamento é fundamental para a integridade dos dados e para a segurança. Ele protege os dados do objeto de modificações indesejadas e garante que somente os métodos dentro do objeto possam acessar e modificar seus atributos. Isso é vital para prevenir a corrupção de dados e garantir a confiabilidade do software.

Como funciona o encapsulamento?

Na prática, o encapsulamento é implementado usando métodos de acesso - getters e setters - e modificadores de acesso, como private, public e protected.

  • Getters: São métodos que permitem o acesso aos atributos do objeto. Eles são usados para obter o valor de uma variável de instância.
  • Setters: São métodos que permitem modificar os atributos do objeto. Eles são usados para definir o valor de uma variável de instância.
  • Modificadores de acesso: São palavras-chave que definem o nível de acesso aos atributos e métodos de um objeto. Private significa que o atributo ou método só pode ser acessado dentro da própria classe. Public significa que ele pode ser acessado de qualquer lugar. Protected significa que ele pode ser acessado dentro da própria classe e por subclasses.

Exemplo de encapsulamento

Suponha que temos uma classe chamada Pessoa, que tem dois atributos: nome e idade. Queremos que o nome possa ser acessado e modificado por qualquer um, mas queremos que a idade só possa ser acessada e modificada por métodos dentro da própria classe. Aqui está como poderíamos fazer isso:

class Pessoa {
  public String nome;
  private int idade;

  public String getNome() {
    return nome;
  }

  public void setNome(String nome) {
    this.nome = nome;
  }

  public int getIdade() {
    return idade;
  }

  private void setIdade(int idade) {
    if (idade >= 0) {
      this.idade = idade;
    }
  }
}

Neste exemplo, qualquer um pode acessar e modificar o nome, mas só podemos acessar a idade através do método getIdade() e só podemos modificar a idade através do método setIdade(). Além disso, o método setIdade() verifica se a idade é um valor válido (não negativo) antes de modificá-la.

Conclusão

O encapsulamento é uma ferramenta poderosa para preservar a integridade dos dados e para criar um código seguro, confiável e fácil de manter. Ele permite que você controle quem pode acessar e modificar os atributos de um objeto, e como eles podem fazê-lo. Isso é vital para prevenir a corrupção de dados e para garantir a confiabilidade do software.

Embora possa parecer um pouco complicado no início, com prática e experiência, o encapsulamento se tornará uma parte natural de sua caixa de ferramentas de programação. E uma vez que você dominar o encapsulamento, você estará bem no seu caminho para se tornar um mestre na Programação Orientada a Objetos.

Agora responda o exercício sobre o conteúdo:

Qual dos seguintes é uma descrição precisa do encapsulamento na Programação Orientada a Objetos?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Imagem do artigo Estruturas de Dados (Listas, Pilhas, Filas)

Próxima página do Ebook Gratuito:

77Estruturas de Dados (Listas, Pilhas, Filas)

3 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto