Imagem do artigo Classes e objetos em Python: Encapsulamento e modificadores de acesso

7.3. Classes e objetos em Python: Encapsulamento e modificadores de acesso

Página 39 | Ouça em áudio

Na programação orientada a objetos (OOP) em Python, as classes e os objetos desempenham um papel crucial. As classes são como um modelo ou um esboço que define o que um objeto deve conter, enquanto os objetos são instâncias de uma classe, que contém variáveis e métodos definidos pela classe. Neste capítulo, vamos nos aprofundar em um aspecto importante da OOP em Python - Encapsulamento e modificadores de acesso.

7.3.1 Encapsulamento

Encapsulamento é um dos quatro conceitos fundamentais da programação orientada a objetos. Ele se refere ao agrupamento de dados e métodos que manipulam esses dados dentro de uma única unidade, que é a classe. Em outras palavras, o encapsulamento é uma maneira de proteger os dados de serem acessados diretamente.

Em Python, o encapsulamento é realizado usando métodos e variáveis privados e protegidos. Uma variável privada é precedida por dois sublinhados (__), enquanto uma variável protegida é precedida por um único sublinhado (_). Aqui está um exemplo de como o encapsulamento é implementado em Python:

class Car:
    def __init__(self):
        self.__price = 20000

    def sell(self):
        print("Selling price: ", self.__price)

car = Car()
car.sell()

Neste exemplo, a variável __price é privada, então ela não pode ser acessada diretamente de fora da classe. Em vez disso, ela é acessada através do método sell().

7.3.2 Modificadores de Acesso

Os modificadores de acesso são usados em OOP para definir o escopo de uma variável, método ou classe. Em Python, existem três tipos de modificadores de acesso - público, privado e protegido.

Os membros públicos (variáveis, métodos, etc.) são acessíveis de qualquer parte do programa. Todos os membros de uma classe são públicos por padrão em Python.

Os membros privados são acessíveis apenas dentro de sua própria classe. Eles são definidos adicionando dois sublinhados antes do nome do membro.

Os membros protegidos são semelhantes aos membros privados, mas eles são acessíveis dentro da classe e suas subclasses. Eles são definidos adicionando um único sublinhado antes do nome do membro.

class Car:
    def __init__(self):
        self._speed = 60    # protected member
        self.__price = 20000  # private member

Neste exemplo, _speed é um membro protegido e __price é um membro privado.

Em Python, os modificadores de acesso são mais uma convenção do que uma regra rígida. Ainda é possível acessar membros privados e protegidos diretamente, embora isso seja considerado uma má prática.

Para concluir, o encapsulamento e os modificadores de acesso são ferramentas poderosas em OOP que ajudam a manter a integridade dos dados e a tornar o código mais seguro e fácil de manter. Eles são uma parte essencial da criação de sistemas robustos e eficientes com Python e Django.

Esperamos que este capítulo tenha lhe dado uma compreensão clara do encapsulamento e dos modificadores de acesso em Python. No próximo capítulo, exploraremos mais conceitos avançados da OOP em Python.

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

Qual é a função do encapsulamento na programação orientada a objetos em Python e como é implementado?

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

Você errou! Tente novamente.

Imagem do artigo Classes e objetos em Python: Herança e polimorfismo

Próxima página do Ebook Gratuito:

40Classes e objetos em Python: Herança e polimorfismo

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