Coletânea Python do ZERO às Redes Neurais Artificiais

Fernando Feltrin · Capítulo 177 de 287

Páginas do PDF

Coletânea Python do ZERO às Redes Neurais Artificiais

Encapsulamento

 

Complementando o capítulo anterior, e como já mencionado algumas

vezes, em Python temos algumas nomenclaturas que podem parecer confusas porque às vezes nomes diferentes se referem a mesma coisa, apenas tendo nomenclatura diferente quando no âmbito da programação estruturada ou quando se trata de programação orientada a objetos.

O chamado encapsulamento nada mais é do que a forma como iremos

declarar a visibilidade de nossos objetos por meio de sua sintaxe.

 

Usando de um exemplo bastante simples, temos nossa classe

BaseDeDados que por sua vez tem seu método construtor que recebe um nome, dentro deste método construtor é criado o objeto para nome e um segundo objeto dados.

Entendendo de forma prática, simplesmente perceba que existem três

formas de declarar um determinado objeto, nesse caso, dados.

A primeira delas “dados” simplesmente faz referência a um objeto do

escopo global dessa classe, podendo ser instanciado por qualquer método de classe ou até mesmo por variáveis e funções de fora da classe.

O segundo método, “_dados”, faz com que este objeto seja declarado

como protegido, em outras palavras esse objeto está simplesmente sinalizado como algo importante e que não deve ser alterado por qualquer motivo. Esse objeto por sua vez ainda é acessível dentro e fora da classe.

Por fim o terceiro método, “__dados”, declarado desta maneira

significando um objeto privado, inacessível de fora da classe e praticamente imutável mesmo dentro dela (salvo algumas exceções).

 

Essa sintaxe funciona perfeitamente para qualquer objeto o qual você

queira proteger ou privar o acesso.