Python - objetos

Índice
No programação orientada a objetos, os objetos são representações abstratas de elementos, que definimos por meio de seus atributos e que possuem uma série de métodos que nos permitem manipular e ter acesso a esses atributos.
existir 3 recursos que nos dão a razão de usar nossos próprios objetos em vez de depender das funções, bibliotecas e globais que a linguagem nos disponibiliza, são eles:
  • Polimorfismo: uso das mesmas operações em objetos diferentes de classes diferentes.
  • Encapsulamento: oculte seus atributos de entidades fora do objeto para que possa protegê-los.
  • Herança- Crie objetos mais específicos que herdam os atributos e métodos básicos de uma classe superior mais geral.

Este termo significa que ele possui várias formas, isso significa que podemos realizar operações que funcionarão de forma diferente dependendo do tipo ou classe do objeto. Vamos dar um exemplo simples, vamos imaginar que temos um carrinho de compras, então definimos como queremos que os dados de preço e o produto desejado sejam obtidos, como vemos na imagem a seguir que criamos uma tupla.

Agora o que aconteceria se a funcionalidade do carrinho de compras fosse ampliada e agora trabalhamos com leilões, de alguma forma devemos especificar os valores que devem ser recebidos e como agir ao usar os mesmos métodos, da maneira que muitos pensariam é fazer uma função da seguinte forma, no entanto, não é apropriado.

Como podemos ver na imagem cobrimos as possibilidades do momento, porém, o que acontece quando as funcionalidades são aumentadas, teremos que continuar atualizando esse código para sempre, é aí que entra o polimorfismo e o que fazemos é definir que cada objeto retorna seu preço independentemente de como é calculado, pois é algo interno a cada classe, que seria o seguinte:

Podemos ver então que é algo que nos ajuda a ter um código que seja mais durável com o tempo, mais fácil de manter.
este consiste em esconder os detalhes internos da aula do mundo exterior, de forma que ele só pode ser acessado por seus próprios objetos e métodos, desta forma podemos trabalhar com classes sem ter que saber seu funcionamento interno, eliminando a complexidade da implementação e protegendo a lógica dentro de nossos objetos.
Também nos permite trabalhar com a garantia de que os dados em nosso objeto não serão alterados, pois se funcionarem de forma abstrata poderemos instanciar várias vezes e cada instância é totalmente individual.
Vejamos um exemplo de um objeto que não está encapsulado:

Aqui vemos que embora fosse o1 quem fez um conjunto do nome, o2 acessar o mesmo nome sem ter definido, isso em um aplicativo seria problemático, vamos imaginar que precisamos do preço de vários produtos e cada um sobrescreve o preço do anterior.
Agora, com um encapsulamento, vamos ver como todo o fluxo do programa funcionaria.

Aqui vemos que cada objeto mantém seu nome, portanto sabemos que podemos trabalhar com segurança obtendo os valores corretos para cada um de nossos objetos.

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave