Conceitos de Orientação a Objetos – Parte 1 de 6

Há muito tempo venho ensaiando escrever uma série de textos sobre Orientação a Objetos. Mas, um dos meus alunos de ABAP, com ampla experiência em .Net e OO, autorizou a publicar uma ótima referência conceitual sobre o tema.

Começo uma série de posts, em 6 partes, sobre conceitos de orientação a objeto. Não é nada voltado a nenhuma linguagem, mas conceitos puros.

O autor desse texto muito bom, foi um dos meus alunos da Academia ABAP, na 15a Turma na KA Solution, Daniel Moreira Yokoyama. Se você quizer entrar em contato com ele, mande um e-mail para blog arroba abap101 ponto com.

Daniel, muito obrigado pelo seu texto!

Segue abaixo, o texto na íntegra:

A Origem da OOP

A Programação Orientada a Objetos se originou da evolução natural da programação procedural.

O primeiro modelo de programação era o sequêncial, onde o fluxo possuía um começo, meio e fim definidos, e o processador recebia cada instrução sequencialmente até encontrar o fim do programa onde ele simplesmente parava.

Da necessidade de manipular este fluxo, iniciou-se os primeiros recursos de desvio como os laços (loops) e o desvio condicional (if), no entanto, já era notável a limitação destes recursos.
O primeiro grande problema eram os trechos de código que se repetiam absurdamente nos desenvolvimento de sistemas. Para isto, foi criado um novo conceito de desenvolvimento, que quebrava um programa em vários outros menores, cada um resolvendo um pequeno problema que fazia parte de um todo. Não é pra menos que relacionam a programação procedural (ou estruturada) com o mantra: Dividir e Conquistar, baseado na Arte da Guerra de Sun Tzu. Pois a programação estruturada foi um conceito rapidamente aceito pelos desenvolvedores da época, prontos para construir seus pequenos programas e consumí-los diversas vezes no programa principal, eliminando inúmeros trechos de código que se repetiriam ao longo dos seus algoritmos.

Este conceito de reusabilidade acabou por ser cada vez mais explorado. O reúso de código implementado na programação estruturada é usado até hoje, na orientação a objetos, através dos métodos, que encapsulam um comportamento íntegro e podem ser disparados inúmeras vezes por diversos outros objetos. Mas a reusabilidade em si ainda era um mero rascunho. Já era possível reutilizar trechos de algoritmos, mas como reutilizar estado? E separar estados distintos de entidades semelhantes?

Foi então que o paradigma dos Objetos foi apresentado.

O Paradigma dos Objetos

Encontre uma foto qualquer, de família, de paisagem, de uma rua movimentada. Não importa. Pegue uma qualquer e observe-a atentamente.

Só de olhar para uma foto, seu cérebro já é capaz de identificar, sem muito esforço, pessoas, carros, árvores, edifícios, postes, lojas, caixas-de-correio, etc. Não importa se na teoria a foto seja apenas um pedaço de papel com milhares de pequenos pontos coloridos que formam figuras. Para o seu cérebro, a foto apresenta um composto de objetos facilmente identificáveis.

Na orientação orientada a Objetos, o princípio é o mesmo. Seu programa olha para a memória do computador e identifica objetos: Produtos, clientes, Pedidos, entregas, notas fiscais. Objetos espalhados que interagem entre si através de métodos e encapsulam estado próprio, que o torna independente de seus semelhantes. Olhar para este panorama faz com que seu sistema tire uma foto instantanea de tudo o que está acontecendo e orquestre a interatividade entre todos os elementos para que seu funcionamento seja eficaz.

2 Responses

  1. Luciana says:

    Olá Professor Furlan!!!
    Hoje darei uma explicação aqui para o pessoal da Officer sobre relatório ALV orientado a objeto. Peguei a apostila e as anotações feitas em aula … muito bom!!! Boas lembranças!
    Vamos em frente que atrás vem gente!!!

  2. Olá, professor Furlan. Como vai?
    Fico feliz de saber que meus textos tem sido úteis no seu material. Hoje, já mais de um ano depois do curso, acabei encontrando meu nome neste blog acidentalmente quando pesquisava no google procurando outra coisa.

    Sucesso e tudo de bom.