Tudo o que você precisa (e deveria) saber sobre Programação Orientada a Objetos

Uma linguagem de programação é a forma de comunicação entre o computador e o programador. Aposto que isso não é lá uma grande novidade. Mas, e a expressão “paradigmas de programação”, tem noção do que seja? Então, vamos lá, porque se você pensa em se tornar um desenvolvedor web, estes são conceitos básicos para a […]

Uma linguagem de programação é a forma de comunicação entre o computador e o programador. Aposto que isso não é lá uma grande novidade. Mas, e a expressão “paradigmas de programação”, tem noção do que seja? Então, vamos lá, porque se você pensa em se tornar um desenvolvedor web, estes são conceitos básicos para a sua jornada.

whatsapp invite banner

Da mesma forma que temos várias maneiras de nos comunicarmos (fala, escrita, gestos…), cada linguagem também segue uma metodologia diferente para realizar a comunicação com a máquina. Essas metodologias são denominadas e conhecidas como paradigmas. Existem vários destes (realmente, vários). Entre tantos, a Programação Orientada a Objetos e a Programação Estruturada.

Na Programação Estruturada, os programadores abstraem o programa como uma sequência de funções executadas de modo empilhado. Este tipo de paradigma foi muito utilizado há alguns anos, principalmente com a linguagem C. Já na Orientada a Objetos ou, simplesmente POO, os programadores podem abstrair um programa como uma coleção de objetos que interagem entre si. Hoje em dia, este paradigma é o mais difundido e é seguido por muitas linguagens, como C# e Java.

Agora, chega de tanta teoria, afinal, você deve estar se perguntando: de forma geral, qual a diferença entre estes dois paradigmas? Bom, a Programação Estruturada é sequencial, ou seja, cada linha de código é executada após a outra, sem muitos desvios, como vemos na Orientada a Objetos. Além disso, a Estruturada costuma permitir mais liberdades com o hardware, o que acaba auxiliando na questão do desempenho. No entanto, a Orientada a Objetos traz outros pontos que acabam sendo mais interessantes no contexto de aplicações modernas. Por exemplo: a capacidade de representação do sistema muito mais perto do que veríamos no mundo real; a reutilização de código, que diminui o tempo de desenvolvimento; bibliotecas que trazem representações de classes; e entendimento do sistema como um todo e de cada parte individualmente de forma muito mais simples.

Mas, ainda mais importante do que isso. Quais são os requerimentos de uma linguagem para ser considerada nesse paradigma Orientada a Objetos? Simples. É necessário atender a quatro pilares.

Pilares que sustentam a programação orientada a objetos

Abstração

Como estamos lidando com uma representação de um objeto real, temos que imaginar o que esse objeto irá realizar dentro de nosso sistema. Para isso, temos que levar em conta três pontos: dar uma identidade única ao objeto que iremos desenvolver; criar características (propriedades) para o objeto. Por exemplo, as propriedades de um objeto “Gato” poderiam ser “Tamanho”, “Cor”, “Idade”; e, por fim, definir as ações (métodos) que o objeto irá executar. No caso do gato, “Miar()”.

Encapsulamento

Essa técnica é um dos elementos que adiciona segurança à aplicação em uma Programação Orientada a Objetos. Basicamente, o encapsulamento esconde as propriedades do objeto, criando uma espécie de caixa preta.

Herança

Como já visto, o reuso de código é uma das grandes vantagens da POO. E muito disso só é possível graças a uma questão que é conhecida como herança (o objeto abaixo na hierarquia irá herdar características de todos os objetos acima dele). Isso otimiza a produção da aplicação em tempo e linhas de código.

Polimorfismo

Como sabemos, os objetos herdam as características e ações de seus “ancestrais”. No entanto, em alguns casos, é necessário que as ações para um mesmo método sejam diferentes. Isso é o chamado polimorfismo. Por exemplo, temos um objeto “Eletroeletrônico”. Esse objeto possui como ação (método) “Ligar()”. Temos dois objetos advindos do anterior, “Televisão” e “Computador”, eles não irão ser ligados da mesma forma. Assim, é necessário, para cada um deles, reescrever o método “Ligar()”.

Esses quatro pilares são essenciais no entendimento de qualquer linguagem Orientada a Objetos. Quer aprender ainda mais sobre os paradigmas de programação, linguagens, frameworks, tecnologias e desenvolver as habilidades essenciais para ser um desenvolvedor web de ponta? Então, conheça o bootcamp de programação da Ironhack, escola de programação global que já possui uma unidade em São Paulo desde o ano passado.

As aulas, em horário noturno ou em tempo integral, são voltadas para o que as empresas realmente precisam e contam com uma metodologia de ensino eficaz para a sua melhor aprendizagem. Diariamente, há palestras, atividades e exercícios em dupla, além de uma revisão do que foi visto no dia anterior. Além disso, tem acompanhamento de diversos profissionais: um program manager, responsável por analisar a satisfação do aluno; um lead teacher, que ministra as aulas em português; e ao menos mais um teacher assistant, que ajuda os alunos com dúvidas pontuais.

Seja um aluno Ironhack e dê uma baita chance ao seu futuro profissional como desenvolvedor web. Ainda restam vagas para a próxima turma que começa em fevereiro. Acesse aqui e participe do processo seletivo!

 

Leticia Negresiolo

Leticia Negresiolo

Jornalista formada pela Cásper Líbero, escrevo sobre tecnologia, cidades, lifestyle e cultura desde 2014. Com passagens pela Editora Globo, Editora Abril e Portal UOL, integro o time do Giz Brasil há cinco anos.

fique por dentro
das novidades giz Inscreva-se agora para receber em primeira mão todas as notícias sobre tecnologia, ciência e cultura, reviews e comparativos exclusivos de produtos, além de descontos imperdíveis em ofertas exclusivas