DEV Community

Richardson
Richardson

Posted on

Explorando a programação orientada a objetos em PHP: Introdução

Durante esta semana, reservei algumas horas do meu dia para esclarecer as dúvidas de um membro da equipe em relação ao paradigma de orientação a objetos. Optamos por utilizar o livro "PHP Programando com Orientação a Objetos", escrito por Pablo Dall’Oglio, porque era o livro que ele tinha à disposição. Mesmo sendo mais antigo, o livro oferece uma boa introdução à orientação a objetos. Além disso, procurei incluir referências recentes em cada tópico.


Compreendendo a Programação Orientada a Objetos

Para iniciar a compreensão dos conceitos de orientação a objetos, eu sempre recomendo a leitura do Capítulo II do livro "Arquitetura Limpa: O Guia do Artesão para Estrutura e Design de Software", intitulado "Começando com os Tijolos: Paradigmas da Programação". Neste capítulo, são explorados os três principais paradigmas de programação: estruturada, orientação a objetos e funcional, acompanhados de um contexto histórico. Além disso, o capítulo apresenta figuras, como Edsger Wybe Dijkstra, cujo nome é reconhecido por todos devido ao Algoritmo de Dijkstra. A seguir, faço um breve resumo do conteúdo abordado:

1968: Surgimento da Programação Estruturada

  • Edsger Wybe Dijkstra introduziu a programação estruturada.
  • Ele destacou as desvantagens de usar saltos irrestritos (instruções goto) na programação.
  • Dijkstra defendeu construções estruturadas como if/then/else e do/while/until como alternativas às instruções goto.
  • A programação estruturada visa melhorar a estrutura e a legibilidade do programa.

1966: Descoberta da Programação Orientada a Objetos (OOP)

  • Ole Johan Dahl e Kristen Nygaard notaram que o quadro da pilha de chamadas de função na linguagem ALGOL poderia ser movido para um heap.
  • Isso permitiu que variáveis locais declaradas por uma função existissem muito depois do retorno da função.
  • O conceito de função evoluiu para um construtor de classe.
  • Variáveis locais tornaram-se variáveis de instância.
  • Funções aninhadas transformadas em métodos.
  • Esta descoberta lançou as bases para a Programação Orientada a Objetos.

É comum afirmar que a programação orientada a objetos possui a capacidade de modelar o mundo real. Eu costumava ouvir muito sobre isso durante as disciplinas da faculdade, porém, naquela época, o entendimento disso me parecia um tanto abstrato. O Capítulo 2 do livro "Orientação a Objetos - Aprenda seus conceitos e suas aplicações de forma efetiva" aborda o contexto histórico e esclarece a ideia de como sistemas digitais podem simular o mundo real.

Esses dois paradigmas, Programação Orientada a Objetos e Programação Estruturada, revolucionaram o desenvolvimento de software.

Top comments (0)