Bem vindo de volta.
O que eu não disse é que ao aprender sobre programação orientada a objetos novamente e
não apenas em Python, mas em qualquer linguagem de programação que suporte o paradigma OLP, é essa ideia de quatro pilares de
todas as quatro coisas que a programação orientada a objetos faz realmente, realmente Nós vamos.
E, na verdade, aprendemos o primeiro, que é a ideia de encapsulamento.
O que é encapsulamento?
O encapsulamento é o início dos dados e funções que manipulam esses dados e os encapsulamos em
um grande objeto para que possamos manter tudo nesta caixa com a qual os usuários ou código ou outras máquinas possam interagir.
E esses dados e funções são o que chamamos de atributos e métodos.
Direito.
Somos capazes de encapsular a funcionalidade de nosso personagem de jogador tendo um nome e dados de
idade ou atributos e também funções que podem agir sobre esse nome e idade.
Então, por exemplo, posso ter um método.
Aqui, isso diz grite.
Ou fale.
E este método de fala agora pode usar o nome e a idade, posso dizer.
Meu nome é Self Dodd name.
E eu sou.
Autodidata, oito anos.
Então, se eu fizer jogador, um ponto fala.
E eu gerencio isso.
Meu nome é Andre e tenho 100 anos.
Estou encapsulando a funcionalidade, se não tivesse essa classe, teria, bem, algumas variáveis e depois
duas funções.
Mas, usando o encapsulamento, empacotei isso em um projeto que posso criar vários objetos para
que, quando outras pessoas virem meu código, eles saibam, ei, este é um objeto inteiro com o qual posso interagir.
Posso usar de certas maneiras.
Esse personagem do jogador descreve e também vimos isso em nossos tipos de dados Python embutidos, certo.
Quando eu crio uma string.
Assim, por causa do encapsulamento, tenho toda essa funcionalidade à minha disposição, todos esses métodos que posso acessar
para que se eu fizer, digamos, capitalizar, vai capitalizar todos os meus pontos fortes.
Eu tenho toda essa funcionalidade encapsulada para eu usar.
Agora, por que queremos empacotar dados e funções em atributos e métodos?
Bem, porque isso nos dá poder extra, certo?
Se, por exemplo, este personagem do jogador não possui nenhuma ação, nenhum método e apenas possui atributos.
Bem, nesse caso, é como um dicionário, certo?
É meio inútil se eu imprimir o player um aqui e clicar em executar.
Eu tenho esse objeto de jogador, mas posso acessar um nome como este.
E também posso acessar a idade.
Assim.
Mas eu realmente não posso fazer nada contra isso.
Eu poderia ter o mesmo dicionário aqui, digamos que jogador para isso vai ser igual a um
dicionário que tem o nome de André e então a idade de cem anos.
E a única diferença real entre os dois é a maneira como eu acesso essas informações em vez
da notação de ponto, eu uso a notação de colchetes para acessar as teclas.
Então, quando eu clicar em executar.
Oh.
Tenho que ter certeza de que também o faço, aqui para um jogador, também, se eu clicar em executar.
Novamente, é a mesma coisa.
Claro, posso fazer dessa maneira, mas é meio inútil, por que não criar um
dicionário se tudo que eu quero são dados, mas usando desta forma, estou combinando coisas, empacotando coisas nessas instâncias,
nessas caixas que podem ser úteis e também coisas que têm significado.
Certo, porque nosso mundo está cheio de dados e ações.
Direito.
Mesmo uma árvore, por exemplo, se tivéssemos uma classe de árvore em nosso mundo real, a árvore teria
talvez se fosse perene ou perene, ela teria se tem um contrato de arrendamento ou não, qual era sua altura.
Teremos todas essas informações, mas também ações.
Direito.
Eu posso cortar uma árvore, a árvore pode crescer, a árvore pode estender suas raízes.
Assim, podemos imitar o que acontece no mundo real com nosso casaco.
Então isso é encapsulamento e nós vimos isso.
Mas vamos falar sobre nosso segundo pilar e o próximo vídeo.