Blog

Postado em em 8 de dezembro de 2022

Programação Orientada a Objetos! Como Funcionam as Classes?

Você sabe o que é programação orientada a objetos? Sabe o que são classes e como esses recursos vão facilitar seus códigos?

Caso prefira esse conteúdo no formato de vídeo-aula, assista aos vídeos abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Programação Orientada a Objetos! Como Funcionam as Classes?

Na aula de hoje, quero explicar e mostrar a você o que é programação orientada a objetos e como as classes funcionam no Python!

O objetivo desta aula é que você compreenda o que é a programação orientada a objetos (POO), quando e como utilizar esse tipo de programação para auxiliar na construção e desenvolvimento dos seus projetos.

Abordaremos desde o conceito teórico até exemplos práticos desse tipo de programação para que você compreenda melhor a POO.

O que é Programação Orientada a Objetos – POO

A programação orientada a objetos (POO) é uma forma amplamente utilizada de organizar e construir códigos em sites e sistemas.

A programação orientada a objetos não é exclusiva de uma linguagem de programação específica, diversas linguagens de programação permitem a aplicação desse tipo de programação.

Programação Procedural e Programação Orientada a Objetos

Basicamente existem duas grandes abordagens principais para o desenvolvimento de códigos: a programação procedural e a programação orientada a objetos.

Na programação procedural, os comandos sequenciais são escritos um após o outro para realizar tarefas.

Por outro lado, na programação orientada a objetos, em vez de comandos sequenciais, você cria objetos e define métodos para eles.

Em resumo, primeiro, você cria o objeto a ser utilizado e, em seguida, o aplica para resolver os desafios do projeto.

Importância da Programação Orientada a Objetos

A POO desempenha um papel crucial na criação de sistemas mais complexos, onde diversas interações ocorrem simultaneamente.

Ao desenvolver sistemas como o Netflix, por exemplo, é necessário criar vários objetos, como filmes, e permitir que os usuários interajam com eles por meio de métodos específicos.

Como funcionam as classes? Para que servem?

As classes são uma forma diferente de construir um código, são mais usadas quando o objetivo é criar sistemas mais complexos como sites e aplicativos.

Vamos fazer um exemplo prático passo a passo para deixar mais claro a importância das classes.

Neste exercício vamos supor que um vendedor “Lira”, trabalha em uma loja que aplica um bônus para o vendedor quando a meta de vendas é atingida.

Lira fez um total de vendas de 1000 reais.

A meta está estipulada em 500 reais. Nosso objetivo é construir um código que faça essa comparação não só para o Lira, mas para quantos vendedores quisermos.

O programa terá que analisar -> “se Lira vendeu 1000 reais, 1000 >= 500 -> Lira bateu a meta.

Se Lira tivesse vendido 400 reais, 400 >= 500 -> Lira não bateu a meta.

Exemplo prático:

Programação Orientada a Objetos

Observe que fazendo dessa forma o programa está executando o código corretamente.

Mas, qual é o problema de construir o programa neste formato?

O problema é que se quiséssemos calcular o bônus para outro vendedor, teríamos que criar outra variável para o vendedor, outra variável para o valor de vendas, outro if e else, praticamente reescrever o código inteiro…

Vamos concordar que os vendedores são duas instâncias do mesmo objeto, certo?

Significa serem dois “elementos” que representam a mesma coisa, com o mesmo significado dentro do código.

Por este motivo as mesmas regras se aplicam para os dois de maneira equivalente.

Quando temos uma estrutura neste formato, que funciona dentro desse princípio é interessante criar uma classe que vai gerir todas as informações que aquele objeto vai ter e tudo que pode ser feito para esse objeto.

Temos uma aula sobre classes explicando o conceito a partir do zero! Se quiser saber mais, clique no link!

Como transformar nosso código em uma classe?

Vamos criar a classe, vamos chamar de “class Vendedor ()”.

Obs. Por convenção geralmente se inicia o nome de uma classe com letra maiúscula.

Agora vamos definir a função “__init__”. Essa é uma função que vai iniciar a sua classe.

Dentro dos parênteses da função vamos colocar todas as informações que precisamos para criar um vendedor.

Neste exemplo, para criarmos nosso vendedor precisamos apenas definir a variável “nome” para ele, então “nome” vai ser colocado dentro dos parênteses depois de “self”.

Class vendedor.

Agora vamos preencher as características do vendedor, por exemplo:

Neste caso nosso vendedor possui um nome e precisa informar as vendas, então vamos colocar estas características no vendedor, sempre respeitando o formato correto, colocando self.(característica).

Nome e vendas.

A característica “self.nome” vai receber o nome colocado dentro dos parênteses e as vendas vão iniciar com zero.

Agora vamos criar um  código que definir o que essa “classe vendedor” pode ou não fazer, por exemplo:

Podemos criar mais uma função chamada “vendeu” nela vamos passar as vendas do vendedor, depois podemos editar o valor em “self.vendas = vendas”.

Em outras palavras, vamos passar para a função vendeu um valor de vendas, e consequentemente o valor de vendas do vendedor será editado.

Vendeu.

Após definir o que a classe de vendedor faz, vamos criar uma função que calcule a meta “bateu_meta”.

Vamos passar para ela uma meta de vendas e verificar se as vendas dos vendedores são maiores que essa meta.

Programação Orientada a Objetos

Observe que colocando o “nome” depois de “self.” Fazendo assim vamos conseguir printar não apenas o resultado, mas o nome do vendedor também, dessa maneira teremos como resposta dois prints.

Você pode estar com a impressão de que deu bem mais trabalho construir a classe, certo?

Sim, é verdade, deu mais trabalho. Só que agora podemos usar essa classe para criar o programa sem precisar ficar repetindo os códigos!

Veja Como:

Ao invés de criarmos todos os comandos vamos apenas dizer que temos o “vendedor1”, o “vendedor 1” faz parte da minha instância de classe “vendedor”.

Programação Orientada a Objetos

Desta forma o print irá retornar o nome do vendedor = Lira.

Se acrescentarmos as outras funções criadas na classe vamos ter:

Vendedor1
  • Nós acabamos de criar o vendedor com o nome lira;
  • Definimos as vendas do Lira em 1000 reais;
  • E verificamos se o Lira bateu a meta.

E esta é a melhor parte, se quisermos criar um (vendedor2) não precisamos criar um “if” ou qualquer outra das estruturas que fizemos novamente.

Nós já criamos a classe, agora podemos apenas criar os vendedores 2,3,4… como fizemos acima com o “vendedor1”.

Programação Orientada a Objetos

Neste caso, Lira bateu a meta e Alon Não bateu a meta, podemos criar quantos vendedores quisermos, apenas definindo dentro dos parênteses seus nomes, valor de vendas e meta, as regras para a análise já estão na classe que criamos anteriormente.

Em pequena escala podemos, sim, fazer sem o uso de classes, mas em um programa ou site não tem como fazer a  programação exclusiva para cada usuário, por isso a importância das classes.

Arquivo/Pasta para as classes:

Outro ponto interessante das classes é poder criá-las em um arquivo separado.

Dentro desse arquivo podemos colocar a “classe vendedor” por exemplo.

Podemos colocar as estruturas todas separadas dentro desse arquivo e quando precisarmos puxar da pasta, fazemos isso usando o código abaixo:

From classes import vendedor

Isso que acabamos de mostrar, a criação da classe e o motivo de criá-la, é o que chamamos de programação orientada a objetos.

Gostou da aula! Vou deixar mais alguns links que vão te ajudar em Python!

Conclusão – Programação Orientada a Objetos

Nessa aula eu te mostrei o que é a programação orientada a objetos e o que são classes dentro do Python. Essa é uma abordagem eficiente para organizar e construir códigos, possibilitando a criação de objetos com métodos específicos, o que facilita a resolução de problemas complexos.

E dentro desse conceito eu te mostrei o que são classes, que são recursos que vão facilitar sua vida na hora de programar, principalmente quando tem vários vendedores ou várias informações do mesmo tipo.

Dessa maneira você não precisa repetir seu código diversas vezes e repetir todas as estruturas que já criou, a classe vai facilitar isso para você conseguir criar projetos mais complexos.

Esse tipo de programação é amplamente utilizado em sistemas e sites modernos e compreendê-la é fundamental para seu desenvolvimento como programador.

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Quer sair do zero no Python e virar uma referência na sua empresa? Inscreva-se agora mesmo no Python Impressionador