DEV Community

Richardson
Richardson

Posted on

1

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.

Image of Timescale

Timescale – the developer's data platform for modern apps, built on PostgreSQL

Timescale Cloud is PostgreSQL optimized for speed, scale, and performance. Over 3 million IoT, AI, crypto, and dev tool apps are powered by Timescale. Try it free today! No credit card required.

Try free

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Engage with a sea of insights in this enlightening article, highly esteemed within the encouraging DEV Community. Programmers of every skill level are invited to participate and enrich our shared knowledge.

A simple "thank you" can uplift someone's spirits. Express your appreciation in the comments section!

On DEV, sharing knowledge smooths our journey and strengthens our community bonds. Found this useful? A brief thank you to the author can mean a lot.

Okay