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

6.4. Programação orientada a objetos em Python: Encapsulamento em Python

Página 23 | Ouça em áudio

A programação orientada a objetos (POO) é um paradigma de programação que oferece meios de estruturar um programa de software em torno de objetos e dados, em vez de funções e lógica. Um objeto é uma coisa ou conceito que pode ser claramente definido. Na POO, cada objeto é uma instância de uma classe. Python é uma linguagem de programação que suporta a programação orientada a objetos e uma das principais características da POO é o encapsulamento.

6.4. Programação orientada a objetos em Python: Encapsulamento em Python

O encapsulamento é uma das principais características da programação orientada a objetos. Ele se refere à prática de esconder os detalhes internos de como um objeto funciona e expondo apenas as interfaces através das quais esse objeto pode ser usado. Em outras palavras, o encapsulamento é uma forma de esconder os detalhes de implementação de um objeto e expondo apenas os métodos e propriedades necessários para interagir com esse objeto.

Em Python, o encapsulamento é realizado usando métodos e variáveis privados e protegidos. Uma variável privada é uma variável que não pode ser acessada ou modificada diretamente fora da classe onde foi definida. Uma variável protegida é semelhante a uma variável privada, mas pode ser acessada e modificada em subclasses.

Para declarar uma variável como privada em Python, prefixamos o nome da variável com dois sublinhados (__). Por exemplo, __nome_variavel. Para declarar uma variável como protegida, prefixamos o nome da variável com um sublinhado (_). Por exemplo, _nome_variavel.

O encapsulamento em Python não é tão estrito como em outras linguagens de programação orientadas a objetos, como Java ou C++. Em Python, é mais uma convenção do que uma regra rígida. No entanto, é uma boa prática seguir essa convenção para tornar o código mais fácil de entender e manter.

Vamos considerar o seguinte exemplo de encapsulamento em Python:

class ExemploEncapsulamento:
    def __init__(self):
        self.__variavel_privada = "Eu sou uma variável privada"
        self._variavel_protegida = "Eu sou uma variável protegida"

    def get_variavel_privada(self):
        return self.__variavel_privada

    def get_variavel_protegida(self):
        return self._variavel_protegida

Neste exemplo, criamos uma classe chamada ExemploEncapsulamento. Dentro desta classe, definimos duas variáveis: uma variável privada (__variavel_privada) e uma variável protegida (_variavel_protegida). Também definimos dois métodos para obter os valores dessas variáveis.

Se tentarmos acessar a variável privada diretamente fora da classe, obteremos um erro. No entanto, podemos acessar o valor da variável privada usando o método get_variavel_privada(). Da mesma forma, embora possamos acessar a variável protegida diretamente fora da classe, é uma boa prática acessá-la usando o método get_variavel_protegida().

O encapsulamento em Python nos ajuda a tornar nosso código mais seguro e mais fácil de manter. Ele nos permite esconder os detalhes de implementação de um objeto e expor apenas as interfaces necessárias para interagir com esse objeto. Isso torna o código mais fácil de entender e menos propenso a erros.

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

O que é encapsulamento na programação orientada a objetos e como ele é implementado em Python?

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

Você errou! Tente novamente.

Imagem do artigo Programação orientada a objetos em Python: Métodos especiais em Python

Próxima página do Ebook Gratuito:

24Programação orientada a objetos em Python: Métodos especiais em Python

4 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