Entenda POO através do BBB (Part 1)
(Esse é um artigo inicial sobre conceitos em POO)
Quando estudamos programação e nos deparamos com o Paradigma de Programação Orientada a Objetos, a princípio, podemos nos assustar e achar tudo muito confuso. Isso acontece toda vez que tentamos aprender as regras de um novo jogo.
Para ajudar nesse entendimento, vamos fazer um paralelo com o jogo de maior sucesso da televisão brasileira que se iniciou hoje, o BBB 23.
Se você já entende de POO, fique mais um pouco para entender como funciona o BBB e se você só vê BBB, vamos entender juntas e juntos sobre POO.
Com certeza não irá faltar assunto na roda de conversa!
Big Brother Brasil (BBB) é um reality show de televisão brasileira e é exibido desde 2002(Muitos aqui nem tinham nascido, heim).
Os jogadores, chamados de "brothers", vivem juntos em uma casa isolada e são vigiados constantemente por câmeras. Eles competem entre si para ganhar o grande prêmio em dinheiro ao final do programa.
Inicialmente os participantes entram com um rótulo de pipoca ou camarote, caso sejam anônimos ou famosos. Durante o programa, os jogadores acumulam estalecas(dinheiro que pode ser utilizado durante o programa), participam de provas e votações para irem para o paredão e por votação popular, podem ser eliminados do jogo.
(Pausa na programação para entendermos agora um pouco sobre Paradigma de Programação Orientada)
POO é um modelo de programação que se baseia no uso de objetos para representar problemas do mundo real e suas relações. Com isso podemos modelar coisas concretas do nosso mundo, como por exemplo os jogadores do BBB.
Mas o que são objetos?
Objeto pode ser qualquer coisa que representa elementos do mundo real dentro do nosso código, eles são criados a partir de classes. Cada objeto tem suas próprias características e ações, que são chamados de atributos e métodos.
Cada objeto é único, mas eles compartilham as mesmas características e ações com outros objetos da mesma classe.
Tá, mas o que são classes?
Classe é justamente o modelo para criar objetos. É como um projeto ou molde para criar elementos que compartilham os mesmos atributos e comportamentos.
Vamos entender com um exemplo?
Para que o BBB aconteça, precisamos dos jogadores, que no programa são chamados de Brothers. Então que tal criarmos a classe Brother?
Classe: Brother
Todo Brother precisa ter um nome, certo? Existem outras características que todos os jogadores possuem? Nesse caso, vamos definir alguns atributos que são comuns entre eles.
Classe: Brother;
Atributos: nome, idade, sexo, profissão, cidade, tipo;
Durante o programa o jogador precisará participar de votações, desafios e outras situações que serão definidas a partir de comportamentos comuns. Vamos definir alguns métodos que todos os participantes compartilham entre si.
Classe: Brother;
Atributos: nome, idade, sexo, profissão, cidade, tipo;
Métodos: votar(), comprar(), lider(), anjo(), paredão(), xepa(), vip()
Pronto, definimos nosso molde, ou melhor, nossa classe.
Agora precisamos criar nossos objetos, dar nome aos bois, ou melhor, dar nome, atributos e métodos aos bois, ou Brother, enfim..
Toda vez que criamos um objeto, estamos criando uma instância da classe e precisamos preencher com as informações definidas nela.
Então bora lá selecionar nossos Brothers:
Objeto Brother1;
Atributos: nome(Marvilla), idade(23), sexo(feminino), profissão(cantora), cidade(Rio de Janeiro), tipo(Camarote);
Métodos: votar(pode votar), comprar(pode comprar), lider(é lider), anjo(não é anjo), paredão(não está no paredão), xepa(não está na xepa).
Objeto Brother2;
Atributos: nome(Cezar), idade(34), sexo(masculino), profissão(enfermeiro), cidade(Salvador), tipo(Pipoca);
Métodos: votar(pode votar), comprar(pode comprar), lider(não é lider), anjo(não é anjo), paredão(está no paredão), xepa(está na xepa).
Perceba, mesmo que tenham saído do mesmo molde, quando criados, os objetos brother1 e brother2 nos parece bem diferentes, tanto nos atributos, quanto nos métodos.
Essa é uma das belezas da POO, o molde (Classe) é sempre o mesmo.. mas os objetos.. bom.. nem tanto!
Nesse momento, no nosso exemplo, sabemos que a Marvilla não pode ser eliminada na próxima eliminação já que ela é líder, mas o Cezar, coitado, tá na xepa passando fome e corre risco de eliminação, já que está no paredão.
Bom, agora deixa eu ir ali que o BBB começou e a part 2 fica para outro momento!