POO – Programação Orientada a Objetos: Guia Completo
O que é Programação Orientada a Objetos?
Ao se programar deve-se escolher uma linguagem de programação para escrever o código. Elas podem ser de dois tipos, programação orientada a objetos e programação estruturada. Sendo assim, vamos entender como cada uma delas interage com o desenvolvimento de softwares.
Diferença entre programação orientada a objetos e programação estruturada
A Programação Orientada a Objetos é um paradigma de programação que trabalha com sistemas de entidades e objetos, organizando o código com as interações entre estes dois termos.
Por meio do seu conceito, podemos entender, por exemplo, um software desenvolvido para uma universidade, o qual uma turma será uma entidade e os alunos serão objetos, instâncias de classes definindo os dados contidos em um objeto e como manipulá-los.
Quando programamos em POO pensamos mais em como manipular e conectar os objetos estabelecendo relações entre eles.
Já a Programação Estruturada possui um código estruturado com um começo e um fim, onde os eventos vão ocorrendo em uma ordem pré-determinada, seguindo a sintaxe da linguagem escolhida.
Ou seja, os softwares produzidos através da programação estruturada são organizados para processar os dados na entrada, até entregar a informação desejada na saída.
Conforme um software produzido vai se tornando mais complexo, este tipo de abordagem costuma se tornar bem mais problemática e trabalhosa, se comparada a programação orientada a objetos.
Pilares da Programação Orientada a Objetos POO
Por sua natureza de manipulação dos objetos e entidades criadas em seus códigos, a programação orientada a objetos tem seus 4 pilares. São eles:
Abstração
O POO tenta ao máximo retirar as entidades e objetos do mundo real da forma mais literal possível e abstrair estes itens nos códigos. Graças a este pilar, a programação orientada a objetos consegue simular com mais exatidão instâncias da realidade nos softwares.
Encapsulamento
Este é um conceito que busca garantir a associação exclusiva de determinados objetos e a alteração dos atributos dele. Desse modo, quando os atributos estão encapsulados, eles estão “bloqueados” para alteração de outros elementos do código.
Herança
A herança é um recurso do POO que economiza o trabalho do programador, uma vez que evita a repetição de atributos, pois caso uma entidade possua os mesmos atributos, eles podem ser compartilhados, sem a necessidade de reescrevê-los no código.
Polimorfismo
Esse pilar na programação orientada a objetos diz respeito, diretamente, quando queremos criar “exceções” das heranças de características recebidas de classes ancestrais. Este é outro recurso que garante muito menos trabalho para os programadores, mesmo quando eles estão trabalhando com códigos complexos.
A importância do POO
A programação orientada a objetos representa um grande avanço nas tecnologias de desenvolvimento de softwares.
Por isso, uma das mais singulares contribuições que este conceito carrega é a abstração, porque consegue representar com maior exatidão a programação estruturada das situações reais, criando softwares mais versáteis.
Outro fator que também contribui bastante para o mundo do desenvolvimento é a herança, que possibilita reduzir os tamanhos dos códigos e, por consequência, o trabalho dos programadores.
Exemplos de Linguagens Orientadas a Objetos
Várias linguagens foram criadas pensando na praticidade do POO. Dentre elas, as principais são:
- Java – é uma linguagem criada na década de 90 pela empresa americana Sun Microsystems, e é uma das principais linguagens de programação orientada a objetos;
- C# - também é uma linguagem bem popular, usado principalmente em softwares para ambiente Windows;
- C++ - é derivada do C e um pouco mais primitiva;
- Python – está cada vez mais em evidência, atuando fortemente na indústria de softwares em geral e dos games.
Site:https://blog.casadodesenvolvedor.com.br/programacao-orientada-a-objetos-poo/