[POO] Aula 01 - Introdução à Programação Orientada a Objetos
O que é Programação Orientada a Objetos?
A Programação Orientada a Objetos(POO) é
um paradigma de programação que utiliza objetos para abstrair o mundo real e pertence à família de paradigmas considerados de alto nível. Os comandos utilizados para operar o hardware são abstraídos do programador e as aplicações são construídas a partir de comandos construídos em camadas mais abstratas.
Este
paradigma agrupa na forma de objetos, atributos e métodos que definem características e comportamentos. Estas informações e procedimentos podem ser
reutilizados facilmente, além de permitir melhorar a organização do código e construção de softwares de grande escala.
Como a POO nasceu?
Historicamente, a POO não foi o primeiro paradigma a ser proposto. Antes da sua criação, os programadores interagiam diretamente com o hardware, realizando
a entrada do código através de códigos de baixíssimo nível (por exemplo, a linguagem ASSEMBLY).
![]() |
Exemplo de um programa em assembly |
Mesmo ineficientes, vários sistemas foram construídos utilizando as linguagens de montagem ("assembler/assembly"). Essas linguagens substituíam as funções do código de
máquina por mnemônicas, endereços de memória absolutos referenciados por
identificadores. A essa linguagem de baixo nível pertence ainda a "segunda geração" das linguagens. Com a evolução da computação, as linguagens de montagem da década de 1960 suportavam condicionais
e macros bastante sofisticadas. Além disso, elas também suportavam recursos de programação modular tais como CALL (para suportar subrotinas), variáveis externas e secções comuns (globais); isso permitia re-utilizar código e o isolamento de características específicas do hardware, através do uso de operadores lógicos como READ, WRITE, GET e PUT. Esse tipo de linguagem de montagem foi e ainda é usada para sistemas críticos, e frequentemente usada em sistemas embarcados. Mesmo sendo amplamente utilizada, essa forma de construir aplicações exige um alto nível de conhecimento do funcionamento do hardware e também é bastante improdutiva.
O
próximo avanço foi o desenvolvimento das linguagens procedimentais. As
primeiras a serem descritas como de alto nível, essas linguagens da terceira
geração usam um vocabulário relativo ao problema sendo resolvido. Por exemplo,
COBOL usa termos como file (para identificar arquivos), move (para mover
arquivos) e copy (para copiar arquivos). Tanto FORTRAN quanto ALGOL usam
terminologia matemática, tendo sido desenvolvidas principalmente para problemas
comerciais ou científicos. Tais linguagens procedurais descrevem, passo a
passo, o procedimento a ser seguido para resolver certo problema. A eficácia e
a eficiência de cada solução é subjetiva e altamente dependente da experiência,
habilidade e criatividade do programador.
É importante
ressaltar que as linguagens procedimentais são consideradas como predecessoras
a orientação a objetos. Quando bem utilizadas possuem maior desempenho, pois
possuem menos desvios quando comparados com a POO. Entretanto, com a
implementação de conceitos como o polimorfismo, herança e o encapsulamento
tornou a POO uma forma bastante confortável para cognição humana.
Outros
tipos de paradigmas criados:
- Programação estruturada
- Programação imperativa
- Programação de passagem de mensagens
- Programação procedural
- Programação orientada a fluxos
- Programação escalar
- Programação restritiva
- Programação orientada a aspecto
- Programação orientada a regras
- Programação orientada a tabelas
- Programação orientada a fluxo de dados (como em diagramas).
- Programação orientada a políticas.
- Programação orientada a testes.
- Programação Genérica.
- Programação multiparadigma.
Porque ela é utilizada?
Todos
que já tiveram alguma experiência com a linguagem C ou C++ sabem o drama que é
quando temos que desenvolver algum software que começa a ficar muito grande. O
paradigma procedural é simples quando a tarefa é realizar procedimentos
didáticos como, por exemplo, soma de dois números ou então o cálculo do
fatorial. Porém, quando a tarefa envolve alguns passos a mais, isto pode se
tornar uma tarefa mais custosa que o necessário.

A ideia
de abstrair problemas tem sido de grande valor na sociedade, assim na
programação foi necessário recriar esta abstração. Esta abstração foi
consolidada na programação orientada a objetos.
Quem utiliza a POO?
A POO é
utilizada por diversas linguagens de programação, entre elas as mais utilizadas
no mercado (Figura 1). Algumas delas como o Java, PHP, Python e C# implementam
muitos recursos bastante semelhantes. Assim quando alguém que se propõe
aprender o paradigma pode migrar de linguagem com maior facilidade, visto que
ele saberá como a linguagem é usada.
Post a Comment