19.7. Encapsulamento: Objetos

Página 68

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.

Now answer the exercise about the content:

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?

You are right! Congratulations, now go to the next page

You missed! Try again.

Next page of the Free Ebook:

6919.8. Encapsulamento: Encapsulamento

Earn your Certificate for this Course for Free! by downloading the Cursa app and reading the ebook there. Available on Google Play or App Store!

Get it on Google Play Get it on App Store

+ 6.5 million
students

Free and Valid
Certificate with QR Code

48 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video, audio and text