image

Acesse bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Iasmin Santiago
Iasmin Santiago08/04/2024 23:56
Compartilhe

Como Objeto, atributos, classe e instância representam nossa realidade na POO?

  • #Python
  • #POO

Olá! Sou embaixadora do DIO Campus Expert, turma 7, e fui desafiada a escrever um artigo … Quando iniciamos estudos em programação e POO, é comum ficarmos perdidos especialmente nos conceitos do título. Esse artigo traz para você uma versão simplificada deles, e deve te ajudar a aplicar esses conceitos até mesmo em seu seu dia a dia, a base de entendimento! Como? vamos lá!

image

FONTE: https://tldrmoviereviews.com/2018/01/03/tv-review-black-mirror-uss-callister/

Você já assistiu o primeiro episódio de Black Mirror da temporada 4, USS Callister, em que o personagem Robert Daly desenvolve um jogo e decide simular nele uma versão virtual de seu interesse amoroso, a Nanette Cole? Para conseguir esse feito, ele insere muitas características e comportamentos sobre essa pessoa de forma bem específica.

A análise do episódio não é foco de nosso artigo, porém me lembrou o quanto uma simulação pode ser eficiente a partir das informações que fornecemos sobre um objeto ao programa! O Robert realmente forneceu o máximo de detalhes para aquela simulação ficar o mais fidedigna possível do objeto real, resultando em uma personagem com aparência física e ações comicamente tão próximas da Nanette do mundo real. 

image

Cena do episódio USS Callister, em que jogo criado para simulação de uma realidade fantasiosa, com pessoas que pertencem à vida real do criador. 

FONTE: https://www.indiewire.com/features/general/black-mirror-uss-callister-behind-the-scenes-aaron-paul-shatner-spoilers-1201912123/ 

Deixando a fantasia de lado, podemos de fato criar uma representação detalhada de um humano, que na Programação Orientada a Objetos (POO) será considerado um objeto. A POO deixa nossos casos e programas mais eficientes… e tem justamente a proposta de resolver problemas com limites e regras a partir do uso das características e comportamentos específicos de um objeto. 

Está curioso (a) em como a POO trará essa abordagem para a programação?

A POO

Há 2 tipos de linguagem: estruturada e a orientada a objetos (POO). Enquanto a linguagem estruturada nos aproxima do modo de “pensar” da máquina, com a POO fazemos a máquina se aproximar do modo de raciocínio humano, representando um objeto de nosso mundo real na programação. Algumas das linguagens em que mais aplicamos POO são: Python, C# e Java. Como é feita essa representação?

Objeto e Classe

Objeto: Assim como já chamamos um elemento de nosso mundo de objeto normalmente, este será, aqui também, algo com características e comportamentos próprios dele. Para facilitar nossa imersão, vamos imaginar objetos visíveis: escolhemos 2 pessoas, Carlos e Carla, que serão objetos distintos. Ambos são pessoas e por isso farão parte da mesma classe: Pessoa. 

Classe: É como um agrupamento só de objetos de mesmo tipo, e servirá também como molde para criar novos objetos em nosso programa. Se a classe é Pessoa, teremos objetos que têm características e comportamentos de pessoas. Mais a frente, você verá 2 conceitos que formam esse molde: atributos e métodos.

Uma reflexão

Note que o computador não tem ideia da nossa realidade, tudo que ele faz e executa num programa é baseado no que informamos a ele... Para nós, no começo, pode ser confuso entender que se criamos a classe chamada Pessoa, o computador automaticamente não saberá por sí só o que uma Pessoa faz. Para ele, até esse ponto, a classe Pessoa é somente uma classe nomeada com caracteres do alfabeto, e pronto. Ele nada assumirá ou adivinhará sobre a classe só com isso. 

Atributo, Método e Instância

E como faremos ele simular e representar uma pessoa, de fato?... Informando-o quais atributos e comportamentos um objeto do tipo Pessoa terá! Vamos então para nossos próximos conceitos. 

Informaremos as características e comportamentos de Carlos e Carla, os 2 objetos da classe Pessoa, no programa. Um objeto é descrito por suas características (atributos) e comportamentos (métodos), deixando essa representação ainda mais eficiente no mundo virtual. Você também concorda que Carlos e Carla terão algumas características e comportamentos diferentes, e também iguais por ambos serem pessoas? Carlos tem cabelo preto enquanto Carla tem cabelo ruivo, mas Carlos e Carla terão cabelo por serem pessoas. Carlos canta, já Carla faz crochê (ações, comportamentos), mas ambos respiram com certeza. 

Atributo: Características que uma Pessoa tem. Carlos e Carla têm o atributo cabelo em comum, diferenciando somente na cor. E sim, 2 objetos podem ter todos os atributos iguais, sem problema, como ambos tendo olhos castanhos. 

Método: Ações, funções ou comportamentos que uma Pessoa tem. Carlos e Carla têm o método respirar em comum, por exemplo.

Instância: Carlos e Carla podem até ter todos os métodos e atributos iguais, porém cada um deles, ao ser criado, terá um espaço diferente na memória do computador. Precisamos criar uma instância de cada objeto dessa classe para que existam na memória.

Instância está ligada a um particular conjunto de dados, e “criar uma instância”, significa criar um objeto específico, cujo comportamento e atributos são definidos pela classe. Quando criamos uma instância, levando à prática, estamos atribuindo características a uma variável. O nome Instância vem de instance, que significa caso ou exemplo. Conhece a expressão "for instance”,? Significa por exemplo em inglês). 

image

FONTE: https://www.dio.me/articles/programacao-orientada-a-objeto

Então, criamos a classe Pessoa e instanciamos os objetos Carlos (atributo: cabelo preto olhos castanhos; métodos: canta e respira) e Carla (atributo: cabelo ruivo, olhos castanhos; métodos: faz crochê e respira). 

Aplicando

Por fim, agora que você entendeu melhor os conceitos tão famosos de POO, vamos representar nossa realidade com um exemplo? Se há uma caneta bic de modelo tinta azul e tampa transparente, qual seria a classe, atributos e métodos do objeto caneta bic?

image

FONTE: https://tldrmoviereviews.com/2018/01/03/tv-review-black-mirror-uss-callister/

Classe: Caneta; Atributos: tinta azul, tampa transparente; Métodos: escreve, pode ser destampada e tampada, etc. Claro que cabe muito mais atributo e método aqui, mas o básico foi bem aprendido! Com isso, resta a você praticar. 

Espero que esse artigo tenha te ajudado! Sugiro iniciar algum dos bootcamps mais recentes da DIO, como o da Vivo de Python para AI e C# da Avanade! Vamos nessa?

Outras referências:

https://www.imdb.com/title/tt5710974/ 

Conteúdo do Bootcamp Avanade Decola Tech #3

Compartilhe
Comentários (0)