Programação Orientada A Objetos


 

Programação Orientada A Objetos - Object Oriented Programming (OOP), se você está familiarizado com o mundo do desenvolvimento de software já deve ter ouvido falar. A programação orientada a objetos é um paradigma que visa o design de sistema em estruturas de entidades, objetos e relacionamentos entre essas entidades. De maneira concisa, programar no paradigma orientado a objetos é desenvolver um sistema com estrutura baseada em objetos da realidade, em que cada objeto contém seus atributos (dados) e comportamentos (métodos), objetos  que se relacionam uns com os outros, modificando o estado do programa até produzirem o resultado esperado. Mas isso não é tudo! A Programação orientada a objetos traz muito mais conceitos e fundamentos para o desenvolvimento baseado neste paradigma, como: fundamentos de abstração, reúso, encapsulamento, conceitos estruturais como classe, atributos, métodos, objetos, os conceitos relacionais como herança, polimorfismo, associação, interface e conceitos de visibilidade como pacotes.

 A Necessidade 

 Sabemos que se tratando de tecnologia nada vem ao acaso, e a orientação a objetos não veio a esmo. Antes da OOP, as linguagens de programação eram criadas a partir do paradigma estruturado, este era fundamentado em 3 estruturas: sequência, condição e repetição. Destacando-se e popularizando-se por propor uma forma de raciocínio intuitiva, legível e de boa compreensão de cada bloco de código, a programação estrutural sempre foi bem recebida por pessoas que estão iniciando na programação. Contudo, com a evolução da tecnologia e a demanda de sistemas de grande porte, seguros e robustos, programas escritos no paradigma estrutural começaram a ficar complexos e de difícil manutenção. Com essa nova demanda surgiu o carecimento de um novo paradigma, um que pudesse expressar melhor as necessidades do nosso dia a dia e aproveitar mais efetivamente o poder computacional que estava aparecendo, e que  trazia com sigo, as possibilidades de sistemas mais complexos. Devido a isso, o paradigma orientado a objetos surgiu.

O Surgimento

 Noruega 1962, no Centro Norueguês de Computação – NCC da Universidade de Oslo, dois  pesquisadores Kristen Nygaard e Ole-Johan iniciaram um projeto que visava criar uma linguagem de simulação de eventos discretos – discrete event simulation, a linguagem foi batizada de SIMULA que mais tarde veio se chamar SIMULA I devido a uma modificação e, mais uma vez e finalmente SIMULA 67.

SIMULA 67

SIMULA 67 é considerada a primeira linguagem a realmente empregar o paradigma orientado a objetos de forma fundamentada.  Veja no trecho a seguir de uma publicação em A history of  discrete events simulation programming languages (NANCE, 1993), uma boa explicação dessa consideração:

 "As contribuições  técnicas de SIMULA são impressionantes, quase incríveis. Dahl e Nygaard, em sua tentativa de criar uma linguagem onde os objetos do mundo real seriam de forma precisa e naturalmente descritos, apresentou avanços conceituais que se tornariam realidade somente quase duas décadas mais tarde: tipo abstrato de dados, o conceito de classe, herança, o conceito de corotina (método), [...] a criação, exclusão e operações de manipulação em objetos são apenas um exemplo".

Entretanto, o problema da SIMULA 67 é que a computação ainda era fechada, assim como algumas outras linguagens coparticipantes que vieram logo após como, GPSS e SIMSCRIPT. Essas linguagens não podiam ser utilizadas em qualquer computador, como, por exemplo, SIMULA 67 só rodava em um UNIVAC 1107. Então o dilema era que ainda existia o problema da portabilidade. Mas por volta de 1970, com o objetivo de criar uma linguagem que pudesse ser usada nos então emergentes PCs – Personal Computers, um pesquisador da Xerox Parc chamado Alan Kay criou a Smalltalk-71, que evoluiu para Smalltalk-80. Essa, sim, é marcada por levar a orientação a objetos a um nível que até então não se projetava para esse paradigma, pelo fato de que além de trazer os conceitos básicos, Smalltalk-80 trazia o conceito de que tudo que ela manipulava eram objetos, tornando o processo de desenvolvimento mais amistoso e produtivo.

Hoje no mercado atual as linguagens orientadas a objetos mais conhecidas são: Python, C#, C + +, Object Pascal e Java.
 
Aqui no blog, se tratando de programação orientada a objetos, Java é o foco! Então, caso queira saber um pouco sobre a história dessa admirável linguagem de programação leia o post A História Do Java. Caso queira saber um bom motivo para escolher essa linguagem de programação, leia o post Porque Java?
 
Esse foi um breve resumo sobre o que é a Programação Orientada A Objetos. Eu espero realmente que tenham gostado e que seja de bom aproveitamento. Obrigado, e até mais! :)

Comentários

Postagens mais visitadas deste blog

Entenda os tipos em Java

Gerenciamento de Memória Java

A História Do Java