Imagem do artigo Encapsulamento: Objetos

19.7. Encapsulamento: Objetos

Página 68 | Ouça em áudio

19.7 Encapsulamento: Objetos

O encapsulamento é um dos quatro principais princípios do paradigma de programação orientada a objetos (POO), juntamente com a herança, a polimorfia e a abstração. É uma técnica que envolve a restrição do acesso direto a alguns componentes de um objeto e o fornecimento de métodos (funções) para manipular os valores desses componentes.

O encapsulamento é frequentemente referido como o ato de embalar os dados (variáveis) e os métodos (funções) que operam nesses dados em uma única unidade, que é o objeto. Em outras palavras, o encapsulamento é a ideia de esconder o estado interno de um objeto e exigir que a interação com esse objeto seja realizada por meio de seus métodos.

Por que o Encapsulamento é importante?

O encapsulamento é importante por várias razões. Em primeiro lugar, ele ajuda a manter a integridade dos dados dentro de um objeto, garantindo que eles não possam ser alterados de maneira inadequada ou inesperada. Isso é feito ocultando os atributos de um objeto e fornecendo métodos públicos para acessar e modificar esses atributos.

Em segundo lugar, o encapsulamento contribui para a modularidade do código. Como os detalhes de implementação de um objeto estão ocultos, outros objetos não precisam entender ou se preocupar com a maneira como esse objeto funciona internamente. Isso torna o código mais gerenciável, mais escalável e menos propenso a erros.

Finalmente, o encapsulamento facilita a reutilização de código. Como um objeto encapsula seus dados e métodos, ele pode ser facilmente reutilizado em diferentes partes de um programa ou em diferentes programas.

Como funciona o Encapsulamento?

O encapsulamento é implementado de maneira um pouco diferente em diferentes linguagens de programação, mas a ideia básica é a mesma. Em uma linguagem de programação orientada a objetos, como Java ou C#, você define uma classe para criar um objeto. A classe inclui variáveis para armazenar dados (chamadas campos ou atributos) e funções para operar nesses dados (chamadas métodos).

Por padrão, todos os campos e métodos de uma classe são acessíveis a qualquer código que possa acessar o objeto. No entanto, você pode restringir o acesso a alguns campos e métodos usando modificadores de acesso. Em Java e C#, por exemplo, você pode usar os modificadores 'private', 'protected' e 'public' para controlar o acesso aos campos e métodos de uma classe.

Um campo ou método 'private' só pode ser acessado dentro da mesma classe. Um campo ou método 'protected' pode ser acessado dentro da mesma classe e por subclasses. Um campo ou método 'public' pode ser acessado por qualquer código que possa acessar o objeto.

Para fornecer acesso controlado a campos privados, você pode usar métodos 'get' e 'set'. Um método 'get' retorna o valor de um campo privado, e um método 'set' permite que você altere o valor de um campo privado. Isso permite que você controle exatamente como e quando os campos privados podem ser acessados e modificados.

Exemplo de Encapsulamento

Para ilustrar como o encapsulamento funciona, vamos considerar um exemplo simples. Suponha que temos uma classe 'Person' com dois campos privados: 'name' e 'age'.

class Person {
    private String name;
    private int age;
}

Como 'name' e 'age' são privados, eles não podem ser acessados diretamente de fora da classe 'Person'. Para permitir o acesso controlado a esses campos, podemos adicionar métodos 'get' e 'set' para cada um deles:

class Person {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String newName) {
        name = newName;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int newAge) {
        if (newAge >= 0) {
            age = newAge;
        }
    }
}

Aqui, 'getName' e 'getAge' são métodos 'get' que retornam os valores de 'name' e 'age', respectivamente. 'setName' e 'setAge' são métodos 'set' que permitem que você altere os valores de 'name' e 'age', respectivamente. Note que 'setAge' verifica se a nova idade é maior ou igual a zero antes de alterar 'age'. Isso é um exemplo de como o encapsulamento pode ser usado para manter a integridade dos dados.

Conclusão

Em resumo, o encapsulamento é um princípio fundamental da programação orientada a objetos que ajuda a manter a integridade dos dados, promover a modularidade do código e facilitar a reutilização do código. Ele faz isso embalando os dados e os métodos que operam nesses dados em objetos e restringindo o acesso direto a alguns componentes desses objetos.

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

Qual dos seguintes é um princípio fundamental da programação orientada a objetos que ajuda a manter a integridade dos dados, promover a modularidade do código e facilitar a reutilização do código?

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

Você errou! Tente novamente.

Imagem do artigo Encapsulamento: Encapsulamento

Próxima página do Ebook Gratuito:

69Encapsulamento: Encapsulamento

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