[Curso POO01 - Aula 01] - Introdução à Programação Orientada a Objetos




O que é Programação Orientada a Objetos?

A POO é um paradigma de programação que utiliza objetos para abstrair o mundo real. Ela pertence à família de paradigmas considerados de alto nível. Ou seja, seus comandos operam o hardware a partir de comandos construídos em camadas abaixo da linguagem utilizada.

Este paradigma agrupa em objetos compostos de atributos e métodos, informações e rotinas que definem o objeto. Estas informações e procedimentos podem ser reutilizados facilmente e permitem um alto reaproveitamento, permitindo a organização e a construção de softwares de grande escala.



Como a POO nasceu?

Historicamente a POO não foi o primeiro paradigma proposto. Anteriormente às linguagens de alto nível, os programadores interagiam diretamente com o hardware, realizando a entrada do código através de código binário. Entretanto, essa forma de entrar com o código fonte é muito propícia a erros e também exigem um alto nível de conhecimento do funcionamento do hardware.

Para facilitar a programação foram desenvolvidas linguagens de montagem ("assembler/assembly"). Elas substituíam as funções do código de máquina por mnemônicas, endereços de memória absolutos referenciados por identificadores. A linguagem de montagem ainda é considerada de baixo nível, ainda que seja um paradigma da "segunda geração" das linguagens. Mesmo linguagens de montagem da década de 1960 suportavam gerações condicionais de macros bastante sofisticadas. 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. A linguagem de montagem foi e ainda é usada para sistemas críticos, e frequentemente usada em sistemas embarcados.

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.

É difícil imaginar como seria o mundo se todos nós tivéssemos que saber como construir tudo que usamos em nosso dia a dia. Muito de nós utilizamos tecnologias, utensílios ou máquinas que sequer fazemos ideia de como funcionam. Porém não entender como algo funciona não significa que as pessoas não possam usá-lo, por exemplo: algumas pessoas sabem dirigir e não tem ideia de como um motor de um automóvel funciona e isso não torna o carro menos útil em seu dia a dia.

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.






Figura 1: Ranking de popularidade das linguagens segundo a IEEE
 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.






Confira a vídeo aula:





Quer fazer download dessa aula?




[Curso POO01 - Aula 01] - Introdução à Programação Orientada a Objetos [Curso POO01 - Aula 01] - Introdução à Programação Orientada a Objetos Reviewed by Vinicius dos Santos on 09:23:00 Rating: 5